java笔记
学习
先吃饭再写作业的小明
300字以内
展开
-
TreadLocal
https://blog.csdn.net/ggibenben1314/article/details/38898839原创 2020-03-17 20:50:29 · 159 阅读 · 0 评论 -
Java依赖注入
https://www.cnblogs.com/universal/p/10415462.html原创 2020-03-15 14:36:25 · 162 阅读 · 0 评论 -
java虚拟机栈和栈帧
https://blog.csdn.net/Andya_net/article/details/75033054https://www.nowcoder.com/discuss/376364?type=post&order=time&pos=&page=1转载 2020-03-13 00:05:51 · 231 阅读 · 0 评论 -
java异常
https://www.cnblogs.com/scuwangjun/p/9058606.html转载 2020-03-09 13:07:47 · 154 阅读 · 0 评论 -
throw和throws
https://blog.csdn.net/IT_lukaifang/article/details/82694486转载 2020-03-08 23:50:35 · 154 阅读 · 0 评论 -
java双亲委派机制理解
https://www.jianshu.com/p/5f79217f2e18转载 2020-03-08 22:49:53 · 193 阅读 · 0 评论 -
java JDBC基本操作和使用
https://blog.csdn.net/qq_22172133/article/details/81266048转载 2020-03-08 15:02:42 · 144 阅读 · 0 评论 -
JVM与JMM组成和联系
一、JVM结构由 4 部分组成:1.类加载器(Class Loader),在 JVM 启动时或者类运行时将Class文件加载到内存,就是把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是类加载器的作用。2.执行引擎(Run Data Area),执行引擎的任务是负是Java虚拟机最核心的组成部分之一。负责执行 cl...原创 2020-02-29 22:21:26 · 377 阅读 · 0 评论 -
java jvm 垃圾回收
垃圾回收主要问题:哪些需要回收?如何回收?一、判断哪些需要回收引用计数法这是一种非常简单易理解的回收算法。每当有一个地方引用一个对象的时候则在引用计数器上 +1,当失效的时候就 -1,无论什么时候计数器为 0 的时候则认为该对象死亡可以回收了。这种算法虽然简单高效,但是却无法解决循环引用的问题,因此 Java 虚拟机并没有采用这种算法。可达性分析算法主流的语言都是采用可达性分析...原创 2020-02-29 16:26:40 · 151 阅读 · 0 评论 -
java生产者消费者问题
生产者-消费者模式是多线程并发协作的经典案例。生产者-消费者问题包含两类的线程, 其中生产者线程用于生产数据,消费者线程用于消费数据。为了解耦生产者和消费者之间的关系,通常采用共享内存的方式(共享数据区域)。生产者只需要把生产的数据放到共享数据区域,而不需要关心消费者的行为。消费者只需要到共享数据区域取数据,而不需要关心生产者的行为。共享数据区域应该要具备以下线程并发协作的功能。如果共享数据区...原创 2020-02-27 14:14:23 · 218 阅读 · 0 评论 -
volatile和synchronized
一、执行控制和内存可见<执行控制>:控制代码执行顺序及是否可以并发执行。<内存可见>:线程执行变量在内存中对其它线程的可见性。根据Java内存模型的实现,线程在具体执行时,会先拷贝主存数据到线程本地(CPU缓存),操作完成后再把结果从线程本地刷到主存。变量的读写都会直接刷到主存,即保证了变量的可见性二、volatile和synchronizedsynchro...原创 2020-02-26 16:11:11 · 146 阅读 · 0 评论 -
jdk1.8新特性总结
https://www.cnblogs.com/jacksontao/p/8608291.html转载 2020-02-23 22:03:39 · 151 阅读 · 0 评论 -
控制反转(Ioc—Inversion of Contro)和依赖注入(Dependency Injection)
https://blog.csdn.net/hhhhhhenrik/article/details/88387184转载 2020-02-06 14:03:42 · 234 阅读 · 0 评论 -
动态代理
//Invoke 调用; delegate:委托; instance:实例import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class DynaProxyHello implements InvocationHan...转载 2020-02-05 17:04:12 · 208 阅读 · 0 评论 -
java 反射机制
反射概念:反射机制指的是Java在运行时候有一种自观的能力,能够了解自身的情况为下一步做准备,其想表达的意思就是: 在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性), 这种动态获取类的信息以及动态调用对象的方法的功能就称为java语言的反射机制。通俗点讲,通过反射,该类对我们来说是完全透明的,想要获取...原创 2020-02-05 16:36:36 · 108 阅读 · 0 评论 -
Java ThreadLocal
https://www.jianshu.com/p/e200e96a41a0转载 2020-02-01 15:45:10 · 126 阅读 · 0 评论 -
教你手写Java层handler机制
https://blog.csdn.net/honjane/article/details/61618317转载 2020-02-01 15:00:38 · 137 阅读 · 0 评论 -
java分支结构
java-分支结构(四种基本分支结构的认识)分支结构:有条件的执行某语句,并非每句必走if结构:1条路if…else结构:2条路if…else if结构:多条路switch…case结构:多条路优点:效率高、结构清晰缺点:整数、相等break:跳出switchswitch…case结构例:int num = 2;switch(num){ case 1: //if(nu...原创 2020-01-17 13:20:30 · 170 阅读 · 0 评论 -
线程池
线程池目的:线程是稀缺资源,不能频繁的创建解耦作用;线程的创建与执行完全分开,方便维护应当将其放入一个池子中,可以给其他任务进行复用核心参数的作用:corePoolSize 为线程池的基本大小。maximumPoolSize 为线程池最大线程大小。keepAliveTime 和 unit 则是线程空闲后的存活时间。workQueue 用于存放任务的阻塞队列。handler 当...原创 2020-01-09 15:04:51 · 167 阅读 · 0 评论 -
同步和异步,阻塞和非阻塞
老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。3 老张把响水壶放到火上,立等水开。(异步阻塞)老...原创 2020-01-08 15:17:28 · 150 阅读 · 0 评论 -
Java 多线程三大核心:原子性,可见性,顺序性
!!!volatile 关键字只能保证可见性,顺序性,不能保证原子性。原子性Java 的原子性就和数据库事务的原子性差不多,一个操作中要么全部执行成功或者失败。JMM 只是保证了基本的原子性,但类似于 i++ 之类的操作,看似是原子操作,其实里面涉及到:获取 i 的值。自增。再赋值给 i。(想将哪几步作为原子操作就将哪几步整体用synchronized和lock处理可以作为原子操作...原创 2020-01-08 14:46:59 · 244 阅读 · 0 评论 -
java常用集合类
1.ArrayList/VectorArrayList:1.扩建不够扩大为原来的1.5倍(elementData = Arrays.copyOf(elementData, newCapacity);)2.结构本身由动态数组实现不能序列化(由transient修饰),因此序列化时是对里面的每个元素遍历序列化。Vector:1.Vector 底层数据结构和 ArrayList 类似,也是一个...原创 2020-01-08 11:51:41 · 155 阅读 · 0 评论 -
String, StringBuffer,StringBuilder对比
1. 可变性String 不可变StringBuffer 和 StringBuilder 可变2. 线程安全String 不可变,因此是线程安全的StringBuilder 不是线程安全的StringBuffer 是线程安全的,内部使用 synchronized 进行同步...原创 2020-01-07 15:27:30 · 105 阅读 · 0 评论 -
java复习大纲
https://www.jianshu.com/p/d58dceab06ae?tdsourcetag=s_pcqq_aiomsg转载 2020-01-07 13:18:12 · 137 阅读 · 0 评论 -
ArrayList,Vector主要区别
Vector是线程安全的,但是性能比ArrayList要低。ArrayList,Vector主要区别为以下几点:(1):Vector是线程安全的,源码中有很多的synchronized可以看出,而ArrayList不是。导致Vector效率无法和ArrayList相比;(2):ArrayList和Vector都采用线性连续存储空间,当存储空间不足的时候,ArrayList默认增加为原来的50...原创 2020-01-07 11:37:04 · 184 阅读 · 0 评论 -
锁池和等待池
(1)锁池:假设线程A已经拥有了某个对象(不是类)的锁,而其他线程B,C想要调用这个对象的某个synchronized方法(或者块),由于B,C线程在进入对象的synchronized方法(或者块)之前必须先获得该对象锁的拥有权,而恰巧该对象的锁目前正被线程A所占用,此时B,C线程会被阻塞,进入一个地方去等待锁的释放,这个地方就是该对象的锁池。(2)等待池:假设线程A调用了某个对象的wait方法...转载 2020-01-06 21:59:49 · 479 阅读 · 0 评论 -
Java中Volatile关键字详解
Java中Volatile关键字详解https://www.cnblogs.com/zhengbin/p/5654805.html转载 2020-01-06 11:49:43 · 111 阅读 · 0 评论 -
java多线程
java 多线程总结篇1之——基本概念https://www.cnblogs.com/tison/p/8241065.htmljava 多线程总结篇2之——Thread类及常用函数https://www.cnblogs.com/tison/p/8249730.htmljava 多线程总结篇3之——生命周期和线程同步https://www.cnblogs.com/tison/p/82667...原创 2020-01-06 10:39:55 · 149 阅读 · 0 评论 -
Java多线程循环打印ABC的5种实现方法
https://blog.csdn.net/weixin_39723337/article/details/80352783转载 2020-01-05 21:05:29 · 331 阅读 · 0 评论 -
java的public,private, protected, default作用范围
public:所有类可见private:本类可见protected:本包和所有子类可见(本包中的子类可访问,不同包中的子类可以访问,不是子类不能访问)default(表中package):本包可见(本包中的子类和非子类均可访问,不同包中的类及子类不能访问)...原创 2020-01-05 20:42:03 · 2525 阅读 · 0 评论 -
java 四大特性 ; java多态; this()和super()
java 四大特性:抽象,封装,继承,多态C++ 三大特性: 封装,继承,多态java多态:1.同一个行为具有多个不同表现形式或形态的能力。2.同一个接口,使用不同的实例而执行不同操作。3.多态性是对象多种表现形式的体现。 多态存在的三个必要条件1.继承 2.重写 3.父类引用指向子类对象多态的实现方式1.重写 2....原创 2020-01-05 20:32:30 · 352 阅读 · 0 评论 -
Java包(package):Java系统包和自定义包
原创 2020-01-05 11:01:08 · 228 阅读 · 0 评论 -
jvm的生命周期和java类的生命周期
知识准备1.java/javac文件.java是Java的源文件后缀,里面存放程序员编写的功能代码。文件你可以认为只是一个文本文件, 这个文件即是用java语言写成的程序,或者说任务的代码块。.class文件本质上是一种是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。, 它一般是由.java文件通过 javac这个命令(jdk本身提供的工具)生成的一个文件而这个文件可...原创 2020-01-05 11:05:21 · 172 阅读 · 0 评论