随笔分类 - JavaSE总结
总结 JavaSE 中相关的基础知识
摘要:工作中很多情况下需要进行精确的小数运算,,在 Java 中使用 float 和 double 这两种浮点数类型进行小数运算时,往往很难达到令人满意的效果,小数点后面总是存在很多位的小数,看起来令人费解,因此不推荐使用这两种浮点数类型进行小数运算。BigDecimal 就是专门用来进行精确计算的,使用
阅读全文
posted @ 2023-01-17 12:27
乔京飞
摘要:实际工作中经常会遇到这样的场景:某些业务功能需要将一些数据生成 Excel 文件并提供给用户,也会让用户根据 Excel 模板录入一些数据,程序读取 Excel 中的数据进行处理,最终存储到数据库中。对于 Java 来说,POI 是最常用来处理 Excel 文件内容的组件。POI 组件功能很强大,不
阅读全文
posted @ 2022-03-13 18:14
乔京飞
摘要:在实际开发中,上传文件和下载文件是很常见的功能,如果文件名是中文的话,还容易会出现乱码问题。 本篇博客采用 Servlet 作为接口演示 Java 上传文件和下载文件的实现方案,同时解决获取上传和下载过程中所遇到的的中文文件名乱码问题,并在本篇博客的最下面提供 demo 源代码下载。 一、搭建工程
阅读全文
posted @ 2022-03-12 13:52
乔京飞
摘要:Json 全称是 JavaScript Object Notation,是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。它易于阅读和编写,同时也易于计算机解析和生成,并能够有效的提升网络传输效率,简洁清晰的层次结构,使得 JSON 成为目前主流的数据交换语言。 本篇博客
阅读全文
posted @ 2022-03-05 13:57
乔京飞
摘要:我想在网上查了一些有关 Java 动态代理相关的技术资料,发现讲的都是一些理论或者源码,没有太多实际的应用举例,让人看的云里雾里、似懂非懂。索性我就自己总结一下,方便后续在使用时进行快速查阅。 Java 动态代理技术其实是 AOP 编程思想的实现。AOP 编程思想可以简单的理解为:在不改变原有业务代
阅读全文
posted @ 2022-02-09 19:27
乔京飞
摘要:所谓反射就是在程序运行期间,能够动态获取到类的属性和方法,以及动态操作对象的属性和方法。 反射技术其实应用很广泛,尤其是各种框架技术都离不开反射,一些常用的 jar 包中间件(比如各个数据库厂商提供的 JDBC 访问驱动程序)也使用反射技术。之所以要总结一下反射技术,主要还是为了能够看懂相关 Jav
阅读全文
posted @ 2022-01-18 17:48
乔京飞
摘要:Java 有关 UDP 和 TCP 两种协议的网络编程技术,在大部分情况下,很少会使用到,但是偶尔也会使用。对于大部分开发人员来说,最常遇到的使用场景有两种:一种场景是公司的产品或项目需要跟相关的硬件进行对接,另一种场景就是需要跟其它公司进行接口对接(比如某些银行提供的接口就要求使用 socket
阅读全文
posted @ 2022-01-17 20:10
乔京飞
摘要:Java 常用的 IO 流主要有 3 种:字节流、字符流、转换流。其中对于字节流和字符流,其内部又分为低级流和高级流。 对于 Java 常用的 IO 流来说,我们重点掌握高级流就可以了,低级流在实际工作中很少用到。低级流的绝大部分用途,就是实例化后作为参数传递给高级流,高级流封装了低级流之后,提供了
阅读全文
posted @ 2022-01-14 16:07
乔京飞
摘要:在 .NET 的 C# 语言中,对集合过滤提取的技术是 Linq,其链式编程风格简便易读,深受大家喜爱。那么 Java 是否也提供了类似的技术?答案肯定的,那就是 Java 使用 Stream 流对集合元素进行过滤提取,只不过其功能没有 C# 中的 Linq 那么丰富。但不管怎么说,这已经算是很不错
阅读全文
posted @ 2022-01-13 17:37
乔京飞
摘要:Java 集合类有两种:单列集合和双列集合。 单列集合的顶层接口是 Collection ,JDK 不提供此接口的任何直接实现,它主要提供了 List 和 Set 两个更具体的子接口。 其中 List 接口的常用实现类为 ArrayList 和 LinkedList ,Set 的常用实现类为 Has
阅读全文
posted @ 2022-01-12 19:38
乔京飞
摘要:Java 中有关日期时间的操作,其实非常简单,没什么好介绍的。之所以编写简单知识点的博客,主要还是因为最近比较忙碌。但是不管多么忙碌,自己还是想挤出时间,保持编写技术博客的习惯。毕竟编写博客,不仅仅是为了总结,向别人分享技术,更重要的是锻炼自己的思考沉淀能力,以及写作表达能力。下面我就快速简单的介绍
阅读全文
posted @ 2022-01-11 16:58
乔京飞
摘要:Java 官方提供了一些比较实用的并发工具类,能够使我们很轻松的驾驭多线程,不用再担心线程安全问题。在工作中巧妙使用这些并发工具类,能够达到事半功倍的效果。下面我们就一起看看这些并发工具类吧。 一、Hashtable 和 ConcurrentHashMap 在 Map 类型的集合中,我们最常用的是
阅读全文
posted @ 2022-01-09 11:08
乔京飞
摘要:线程池的概念其实也没有那么深奥,可以简单的理解为就是一个容器内存放了多个空闲的线程,有新任务需要执行时,就从容器里面取出空闲线程,任务执行完毕后,再归还给容器。 之所以要使用线程池技术,主要还是因为创建一个新线程的成本比较高,程序底层需要跟操作系统进行交互。当程序中需要创建大量生存期限很短暂的线程时
阅读全文
posted @ 2022-01-08 12:57
乔京飞
摘要:多线程之间对同一共享资源进行操作,容易出现线程安全问题,解决方案就是把共享资源加锁,从而实现线程同步,使任意时刻只能有一个线程操作共享资源。Java 有 3 种方式可以实现线程同步,为了更清晰的描述方案,我以两个窗口卖火车票为例进行介绍 3 种线程同步的方案。本篇博客目的在于总结 Java 多线程同
阅读全文
posted @ 2022-01-07 10:57
乔京飞
摘要:具体什么是多线程和异步执行,这里就不介绍了,能够点开本篇博客的各位看官们,都是想直奔主题看干货,不想浪费时间和精力在一些无关紧要的前奏预热和铺垫上。本篇博客主要目的是总结,为了在工作中需要用到的时候,随时可以快速找到,毕竟人的记忆力是有限的。下面我们就快速总结一下 Java 实现多线程异步执行耗时代
阅读全文
posted @ 2022-01-04 20:20
乔京飞
浙公网安备 33010602011771号