JAVA基础
jdk类库的学习,基础知识点总结
吃饼青年
精通Java
展开
-
有序的Map之LinkedHashMap、TreeMap
示例有序Map,分析他们的数据结构,简单清晰红黑树的原理原创 2020-04-16 10:54:45 · 446 阅读 · 0 评论 -
并发容器之CopyOnWriteArrayList
CopyOnWriteArrayList并发同步集合,适合读多写少的场景原创 2020-03-28 21:19:45 · 181 阅读 · 0 评论 -
Java对象的生与死
读书笔记:《深入理解Java虚拟机 第二版》第三章 阐述java对象是如何被回收的原创 2018-01-16 09:21:22 · 324 阅读 · 0 评论 -
Blob存储实践
oracle操作Blob原创 2018-01-16 18:08:14 · 312 阅读 · 0 评论 -
Java SE之String、StringBuffer、StringBuilder
String是java中最常用的对象,进行字符串的操作,不可变对象(因为private final char value[]; 是使用final修饰的value),程序中尽量少使用String,因为+实际是不断生成新的String,当String过于多的时候会对堆及GC带来不小负担。2018-3-14 面试容易被问到的问题,补充:String为什么设置为不可变类? 答:1.不变...原创 2018-01-17 09:44:46 · 218 阅读 · 0 评论 -
Java SE之IO
java io 读取与写入基本操作原创 2018-01-10 14:29:39 · 269 阅读 · 0 评论 -
Java SE之反射回顾
import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;/** * @author Kevin 2018-2-8 * * * * 看 tomcat源码发现,很多地方用到了反射,回顾一下Method的用法,及其参数的意义。 * * 反射的基本操作流程是: * 1...原创 2018-02-08 12:36:50 · 266 阅读 · 0 评论 -
为什么HashMap是线程不安全的?
为什么HashMap是线程不安全的? 因为在HashMap的实现类中无可见线程同步的措施,比如说synchronize关键字或者显示锁处理等,所以当HashMap被定义为共享变量在多线程情况下使用的时候,就会出现一些问题。相比较起来线程安全的Hashtable(synchronized)、ConcurrentHashMap(分段锁)这...原创 2018-04-09 12:52:19 · 967 阅读 · 0 评论 -
ArrayList在foreach循环的时候remove元素报错
jdk基于fast-fail机制,当集合内部结构发生预期外变化时抛出ConcurrentModificationException原创 2018-04-10 22:13:54 · 634 阅读 · 0 评论 -
Java se之序列化
参考: Java序列化示例教程: http://www.importnew.com/14465.html 深入学习 Java 序列化: http://www.importnew.com/24490.html 浅析若干Java序列化工具:http://www.importnew.com/20125.html 深入分析Java的序列化与反序列化:http://www.imp...原创 2018-04-23 09:06:29 · 261 阅读 · 0 评论 -
HashMap原理(转)
自己想写一篇HashMap的文章,发现自己并不如人家写的这般细致。还是转载这一篇好文,认真看几遍仍觉得受益匪浅。文章链接:http://www.importnew.com/7099.html HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知...转载 2018-04-25 15:07:24 · 200 阅读 · 0 评论 -
centos7编译openjdk记录
本文关于centos中编译openjdk进行调试教程原创 2019-01-14 00:59:56 · 2044 阅读 · 0 评论 -
定时任务ScheduledExecutorService异常问题处理
定时任务是比较常用的功能之一,最近就有需求使用到了这个东西。看下面这段代码:public class ScheduledErrorDemo { private static ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor(); priv...原创 2019-05-15 00:17:14 · 4470 阅读 · 0 评论 -
Java 集合之LinkedList
LinkedList源码解析原创 2018-01-02 09:50:39 · 317 阅读 · 1 评论 -
Java 集合之HashMap1.8的新特性使用
HashMap jdk1.8 新特性实践。原创 2018-01-03 10:50:06 · 1287 阅读 · 0 评论 -
java异常简述
总结自:《java 核心技术I 第十版》Error:描述java运行时系统的内部错误和资源耗尽错误;Exception:程序设计需要关原创 2017-02-23 17:20:39 · 569 阅读 · 0 评论 -
Java NIO之Channel和Buffer学习记录
Channel Buffer学习总结原创 2017-05-12 16:02:14 · 367 阅读 · 0 评论 -
JAVA SE之Cloneable 深拷贝和浅拷贝的区别
对照下面的例子很容易看出: 当一个对象赋值给另一个对象变量时,是相同的引用,公用这个对象实例; 浅拷贝,需要实现Cloneable这个标记接口,然后自行实现clone方法,clone方法的默认就是浅拷贝;注意:当对象中成员变量都是基本类型或者不可变量如String的时候,浅拷贝是安全的。 但是当变量中存在子对象变量的引用时,就需要深拷贝了,因为浅拷贝并不会对子对象进行c原创 2017-05-24 10:58:41 · 370 阅读 · 0 评论 -
java基础之类加载过程
声明:本文总结自《深入理解JAVA虚拟机》(第二版),周志明著类加载机制的时机当有new关键字实例化对象的时候、读取或设置一个类的静态字段、调用一个类的静态方法的时候反射调用时,类没有初始化,需要触发有继承时,子类初始化的时候,父类必须初始化;当要执行main方法的主类时,需要先初始化这个主类使用jdk1.7的时候。。。。接口与类的初始化异同: 类的初始化要求父类必须全部原创 2017-03-09 15:36:28 · 419 阅读 · 0 评论 -
Java SE之Map接口
图片引自:http://www.cnblogs.com/wuyuegb2312/p/4458468.htmlMap是java中重要的集合框架中的接口,而且在开发者它的子类HashMap使用频率很高;一个map不能含有相同的keys,每个key对应至少一个结果; 这个接口代替Dictionary类这个抽象类。map接口提供了三个集合视图,允许一个map的内容被看成是a se...原创 2017-06-06 15:09:06 · 443 阅读 · 0 评论 -
JAVA SE之基本数据类型
前言: 面试被问到基本类型存储的需求,疏忽忘记了,又回来再拾一下基础。java中有8种基本数据类型;4种整型,2种浮点型,1种用于表示Unicode编码的字符单元的字符类型char和1种表示真值的boolean型;1.整型:int 4字节 short 2字节原创 2017-05-19 18:30:26 · 281 阅读 · 0 评论 -
Java Se之类加载问题思考
类加载机制的思考原创 2016-11-05 14:30:39 · 373 阅读 · 0 评论 -
Java se之JDK动态代理
jdk动态代理:jdk动态代理是 需要提供一个实现了InvocationHandler接口的处理类;通过Proxy的newProxyInstance()方法,参数有三个,第一个是 类构造器classloader,第二个是目标类实现的接口,这是必须的;第三个就是上面自定义的处理类Handler;局限是必须是目标类实现了接口,否则无法用java提供的动态代理,但是CGlib进行了补充,通过实现目原创 2017-07-02 11:34:44 · 454 阅读 · 0 评论 -
Java动态代理之cglib
cglib是对jdk动态代理的补充,弥补了因没有接口的类生成代理类的缺失。 下面通过简单的例子学习一下cglib的使用,当然,要是用需要第三方的jar包,jar包自行下载。业务类public class BankService { public void save(){ System.out.println("存钱..."); }}业务增强类public clas原创 2017-07-02 14:34:17 · 346 阅读 · 0 评论 -
Java se之静态代码块、代码块、构造函数执行顺序怎么回事
创建一个父类class Father { public static void main(String[] args) { Father f = new Father(); } static{ System.out.println("Father Static..."); } { Sys...原创 2017-06-27 09:18:37 · 294 阅读 · 0 评论 -
Java SE之底层数组复制方法
深入学习了一下ArrayList,基于动态数组,当然就少不了很多数组间的操作,那么就源码中使用到的Arrays.copyOf(elementData, newCapacity);这个方法进行一下细节的学习。原创 2018-01-02 09:26:44 · 380 阅读 · 1 评论 -
Java 集合之ArrayList
ArrayList作为最常用的数据结构之一,它为什么会出现?String[] strArray = new String[10];以上是一个数组的定义,数组可以集合,但是必须是定长的,这就导致了一个问题,就是动态的变长。于是ArrayList的就解决了这个问题。所以,它的背后的原理就是基于动态数组。关于数组复制的文章请看这里。来看一下ArrayList的部分源码(java versio...原创 2018-01-01 18:27:09 · 283 阅读 · 0 评论 -
Java SE 基础之接口回顾
以下是对《JAVA 核心技术 卷1 基础知识第十版》接口部分的重温和总结,如有错误等,敬请谅解,欢迎指正:1.接口是什么? 接口是对类的一组需求描述,类遵循接口描述的同一格式进行定义。 接口是没有实例域的抽象类。2.接口中可以定义常量,默认实现类也为此值。如果实现类单独定义,则为实现类的值。 接口中不可以有私有的东西存在,默认为public,并且建原创 2016-12-06 10:13:05 · 484 阅读 · 0 评论