Java源码学习
文章平均质量分 79
哈特谢普苏特
海上生明月
展开
-
sychronized理解
1..class和.dex文件 对于Java而言,编译后生成的是.class文件 而对于android而言,.class文件是中间状态,还需要将.class文件通过dex工具变成.dex文件,最终变成.apk文件 如一个类Demo,注意一定不要将它写在xx.com.example下,而是直接写在java文件夹下(即不要导入任何包) 血的教训,千万不要写入任何路径,否则会像我一样折腾半天 Demo类定义如下,里面写了一个foo()的方法,且被synchronized修饰(可以对比一下有无修饰生.原创 2021-12-27 14:06:35 · 314 阅读 · 0 评论 -
Java线程的一点理解
1.线程和进程的区别 进程是资源进行分配和调度的基本单位 进程包含线程 进程有自己 线程cpu调度的最小单位 2.线程的生命周期 一个线程被创建变成了new,在获取到除了cpu之外的资源后变成了runnable,在等待检测锁的时候是blocked,在被执行wait() sleep()以及join()等方法后变为waiting以及等待特定的时间时是timed_waiting,终结后变为terminated. 理解一下blocked:当一个线程被调用了wait()/join()之类的方..原创 2021-12-24 16:04:20 · 575 阅读 · 0 评论 -
单例模式详解——参考B站课程
课程地址 单例模式是为了确保只有一个实例的存在,从而防止多个实例存在会对程序造成干扰或攻击。 1.懒汉模式 public class LazySingleTon { private static LazySingleTon singleTon; private LazySingleTon(){} public synchronized static LazySingleTon getInstance(){ if(singleTon == null)原创 2020-09-20 10:01:44 · 142 阅读 · 0 评论 -
HashMap学习记录
HashMap继承AbstractMap,实现克隆,序列化接口 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { /** * The default initial capacity - MUST be a power of two. */ static final int原创 2020-09-18 10:15:34 · 78 阅读 · 0 评论 -
Object类学习记录
Object类是其它类的超类,有很多方法如wait,notify,equals,hashcode等等,其中大部分方法都是native的 在equals方法中,比较的是==,而在Integer或者是String类中,重写了equals方法,比较的是内容是否相同 public boolean equals(Object obj) { return (this == obj); } public final native Class<?> getClas原创 2020-09-03 20:02:59 · 83 阅读 · 0 评论 -
String类 StringBuilder StringBuffer源码
String类被final修饰 实现了CharSequence的接口,有被final修饰的char型数组,因此是不可变的 public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; .原创 2020-09-03 19:40:29 · 105 阅读 · 0 评论 -
Integer源码阅读记录
1.静态内部类IntegerCache private static class IntegerCache { static final int low = -128; static final int high; static final Integer cache[]; static { // high value may be configured by property int h.原创 2020-09-03 16:50:59 · 96 阅读 · 0 评论