Loading

随笔分类 -  01-Java基本功

Java基本功~
摘要:序列化简介 Java序列化是指将一个Java对象转化为一个二进制流的过程,反序列化是指将二进制流转化为一个Java对象的过程。一般进行序列化的目的有: 当程序退出时, 这些对象也就消失了, 而序列化正是为了将这些对象保存起来以便将来使用; 通过网络将序列化后的二进制流传输给远程JVM使用(RPC、R 阅读全文
posted @ 2020-03-16 14:16 程序员自由之路 阅读(1661) 评论(0) 推荐(1) 编辑
摘要:Java中的IO接口是程序用来进行数据输入输出的接口。数据的输入来源和输出目的地可以是下面的对象: 文件 管道 网络连接 内存缓存 System.in, System.out,System.error(注:Java标准输入、输出、错误输出) 关于普通Java IO的学习,需要掌握下面几点: 流的概念 阅读全文
posted @ 2020-03-13 17:30 程序员自由之路 阅读(786) 评论(0) 推荐(1) 编辑
摘要:注解的基础知识 元注解:@Retention @Target @Document @Inherited Annotation型定义为@interface, 所有的Annotation会自动继承java.lang.Annotation这一接口,并且不能再去继承别的类或是接口。 参数成员只能用publi 阅读全文
posted @ 2020-03-13 11:16 程序员自由之路 阅读(1000) 评论(0) 推荐(0) 编辑
摘要:所谓泛型,就是指在定义一个类、接口或者方法时可以指定类型参数。这个类型参数我们可以在使用类、接口或者方法时动态指定。 使用泛型可以给我们带来如下的好处: 编译时类型检查:当我们使用泛型时,加入向容器中存入非特定对象在编译阶段就会报错。假如不使用泛型,可以向容器中存入任意类型,容易出现类型转换异常。 阅读全文
posted @ 2020-03-12 17:37 程序员自由之路 阅读(7093) 评论(1) 推荐(3) 编辑
摘要:本文来谈谈我们平时使用最多的HashMap。 1. 简介 HashMap是我们在开发过程中用的最多的一个集合结构,没有之一。HashMap实现了Map接口,内部存放Key-Value键值对,支持泛型。在JDK1.8以前,HashMap内部是以数组加链表的结构维护键值对数据。在JDK1.8中,Hash 阅读全文
posted @ 2020-03-12 11:28 程序员自由之路 阅读(473) 评论(0) 推荐(0) 编辑
摘要:1. 简介 Java中的集合类既可以当做放其他数据的容器,又可以当做常见的数据结构使用。Java中提供了很多好用的工具类来操作这些集合类。本篇博客就来介绍下常用的集合工具类。集合常用的工具类大体可以分为3类: JDK本身提供的工具类; Guava提供的工具类; Apache common-Colle 阅读全文
posted @ 2020-03-11 14:33 程序员自由之路 阅读(2018) 评论(0) 推荐(0) 编辑
摘要:1. 什么是stream API Java8提供的stream API可以让程序员像操作数据库一样操作集合。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用 fork/j 阅读全文
posted @ 2020-03-10 13:32 程序员自由之路 阅读(1336) 评论(0) 推荐(1) 编辑
摘要:之前说到,Java中集合的主要作用就是装盛其他数据和实现常见的数据结构。所以当我们要用到“栈”、“队列”、“链表”和“数组”等常见的数据结构时就应该想到可以直接使用JDK给我们提供的集合框架。比如说当我们想用到队列时就应该想到使用LinkedList和ArrayDeque。本篇博客将介绍Collec 阅读全文
posted @ 2020-03-09 17:18 程序员自由之路 阅读(703) 评论(0) 推荐(0) 编辑
摘要:什么是 SPI SPI是Service Provider Interface的简称,是JDK默认提供的一种将接口和实现类进行分离的机制。这种机制能将接口和实现进行解耦,大大提升系统的可扩展性。 SPI机制约定:当一个Jar包需要提供一个接口的实现类时,这个Jar包需要在META INF/servic 阅读全文
posted @ 2020-02-27 14:32 程序员自由之路 阅读(1799) 评论(0) 推荐(0) 编辑
摘要:Java中的异常机制是指:当程序在运行过程中遇到意外情况时会自动抛出一个Exception对象来通知程序,程序收到这个异常通知后可以采取各种处理措施,这种机制能使程序更加健壮,可读性更高。本文就来讲讲异常处理的相关知识。 异常分类 Java中的异常分为RuntimeException和Checked 阅读全文
posted @ 2020-01-06 11:31 程序员自由之路 阅读(2239) 评论(0) 推荐(3) 编辑
摘要:引子 我们知道从一个文件流中读取内容时是要指定具体的编码格式的,否则读出来的内容会是乱码。比如我们的代码写成下面这个样子: private static void m1(){ try(FileInputStream fileInputStream = new FileInputStream("D:\ 阅读全文
posted @ 2019-12-27 11:22 程序员自由之路 阅读(6209) 评论(0) 推荐(4) 编辑
摘要:在Java中,集合框架的使用频率非常高。集合常常被用来装盛其他数据,或者用来实现常见的数据结构比如数组、队列和栈等。Java中集合主要可以分为Collection和Map两个大类。Collection又分为List、Queue和Set(见下图)。本篇博客主要来介绍下List集合。 图片. Java集 阅读全文
posted @ 2019-10-22 21:47 程序员自由之路 阅读(1008) 评论(0) 推荐(2) 编辑
摘要:什么是JMX JMX(Java管理扩展),是一套给应用程序引入监控管理功能的接口。比如我们可以通过JMX来监控Tomcat的运行状态。JMX最主要的应用场景就是中间件的监控,配置文件的在线修改配置。 相关概念 一个典型的JMX架构图: MBean:是Managed Bean的简称。在JMX中MBea 阅读全文
posted @ 2019-10-19 14:55 程序员自由之路 阅读(3934) 评论(0) 推荐(1) 编辑
摘要:Java开发过程中的常用工具类库 当我们想要自己开发一个工具时先在网上找找有没有大厂已经帮我们实现好的工具类。毕竟重复造轮子不是什么好事~ Apache Commons类库 Apache Commons是一个非常有用的工具包,为解决各种实际的问题提供了通用现成的代码,不需要我们程序员再重复造轮子。关 阅读全文
posted @ 2019-10-16 22:25 程序员自由之路 阅读(2994) 评论(0) 推荐(0) 编辑
摘要:**语法糖(Syntactic Sugar)**,也称糖衣语法,指在计算机语言中添加的**某种语法**,这种语法对语言本身的功能来说没有什么影响,只是为了方便程序员进行开发,提高开发效率,使用这种语法写出来的程序可读性也更高。说白了,语法糖就是对现有语法的一个封装。 **但其实,Java虚拟机是并不支持语法糖的,语法糖在程序编译阶段就会被还原成简单的基础语法结构,这个过程就是解语法糖**。所以在Java中真正支持语法糖的是Java编译器。 阅读全文
posted @ 2019-10-13 12:06 程序员自由之路 阅读(6860) 评论(1) 推荐(3) 编辑
摘要:如果你是一个生活在2019年的程序员,却不了解字符、字符集、编码和Unicode这些基础知识。那你可要小心了,要是被我抓到你,我会让你在潜水艇里剥六个月洋葱来惩罚你。 --来源网络 基本概念科普 为了让下面的内容能看得更明白,在这边先科普几个和编码相关的概念。 1. 字符 字符(Character) 阅读全文
posted @ 2019-10-11 09:31 程序员自由之路 阅读(2112) 评论(2) 推荐(11) 编辑
摘要:如果一个类的对象个数是有限的而且是不变的,我们通常将这样的类设计成枚举类。 1. 枚举类的定义 枚举类有如下特点: 枚举类默认是使用final关键字修饰的,所以枚举类不能被继承; 枚举类的构造函数默认是使用private修饰的; 定义枚举类时所有实例必须在第一行全部列出; 枚举类也可以实现接口; 枚 阅读全文
posted @ 2019-09-24 22:23 程序员自由之路 阅读(2576) 评论(0) 推荐(0) 编辑
摘要:本文的大部分内容转载自正则表达式从入门到实战,内容按照自己的风格进行了排版。 什么正则表达式 正则表达式(Regular Expression)可以理解为是对一种文本匹配规则的描述。正则表达式的主要作用是用来检索、匹配或替换那些符合某个(规则)模式的文本内容。比如我们要检查一个字符串是不是一个合法的 阅读全文
posted @ 2019-09-23 21:55 程序员自由之路 阅读(1071) 评论(0) 推荐(0) 编辑
摘要:时区概念 国际经度会议(又称国际子午线会议)上,规定将全球划分为24个时区(东、西各12个时区)。规定英国的格林尼治天文台旧址为中时区(零时区)、东1-12区,西1-12区。每个时区横跨经度15度,时间正好是1小时。最后的东、西第12区各跨经度7.5度,以东、西经180度为界。每个时区的中央经线上的 阅读全文
posted @ 2019-09-11 22:09 程序员自由之路 阅读(2665) 评论(0) 推荐(1) 编辑
摘要:虽然在平时的开发过程中我们不会直接使 JDBC 的 API 来操作数据库,但是 JDBC 是大多数 ORM 框架的基础。只有掌握了 JDBC 的使用才能更好的掌握 ORM 框架。本篇博客就对 JDBC 做下介绍,以及使用 JDBC 操作数据库的一般流程。 JDBC(Java 数据库连接)是 Sun 阅读全文
posted @ 2019-08-28 23:11 程序员自由之路 阅读(340) 评论(0) 推荐(0) 编辑