java
qq_给条出路吧
这个作者很懒,什么都没留下…
展开
-
juc学习笔记(一)线程与进程、传统锁synchornized
juc学习笔记(一)线程与进程概念并发和并行概念查看cpu核数的方法synchornized锁 线程与进程 概念 线程:线程是处理器任务调度和执行的基本单位 进程:进程是操作系统资源分配的基本单位 同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源相互独立 (1)java真的可以开启线程吗? 答案:不能 原因查看thread的start方法 new Thread(){}.start(); start的源码里调用了start0(),而这个方法是native public synchron原创 2020-09-22 23:54:44 · 357 阅读 · 0 评论 -
java设计模式(四)观察者模式
常见的设计模式之观察者模式观察者模式观察者模式组成实现代码:Observable 观察者模式 观察者模式组成 实现代码: 1.定义接口 2.具体的接口 3. 具体主题角色 4. 具体的观察者 5. 测试 Observable 代码 class observable extends Observable { void counter(int number){ for (...翻译 2019-09-04 22:52:28 · 186 阅读 · 0 评论 -
java设计模式(三)代理模式
常见的设计模式之代理模式为什么要用代理模式?静态代理模式静态代理总结:动态代理模式创建动态代理步骤动态代理总结 为什么要用代理模式? • 中介隔离作用:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。 • 开闭原则,增加功能:代理类除了是客户类和委托类的中介之外,我们还可以通过给代理类增加额外的功...翻译 2019-08-29 17:46:24 · 267 阅读 · 0 评论 -
java设计模式(二)策略模式
常见的设计模式之策略模式策略模式该模式缺点介绍(转载+翻译) 策略模式 该模式缺点 介绍(转载+翻译) 介绍 意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决:在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。 何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。 如何解决:将这些算法封装成一个一个的类,任意地替换。 关键代码...翻译 2019-08-29 17:39:20 · 167 阅读 · 0 评论 -
java设计模式(一)单例模式
常见的五种设计模式之单例模式单例模式单例模式的优点使用场景单例模式的使用场景单例模式的注意事项多线程环境下单例模式的实现 (转)1、 为什么说饿汉式单例天生就是线程安全的?2、 传统的懒汉式单例为什么是非线程安全的?3、 实现线程安全的懒汉式单例的几种正确姿势单例模式与双重检查(Double-Check idiom)单例模式 与 ThreadLocal小结 单例模式 在应用这个模式时,单例对象的类...翻译 2019-08-29 17:34:36 · 336 阅读 · 0 评论 -
JVM深入学习(三)类加载深入解析和命名空间
JVM深入学习(三)类加载深入解析和命名空间类的卸载类加载深入剖析命名空间类加载器的命名空间关系类加载器命名空间分析 类的卸载 由用户自定义的类加载器所加载的类是可以被卸载的。 System.gc(); 强制调用gc做一次回收 类加载深入剖析 自定义类加载器 import java.io.ByteArrayOutputStream; import java.io.File; import ja...原创 2019-08-17 17:43:35 · 255 阅读 · 0 评论 -
netty学习笔记(二)java之NIO编程
netty学习java之NIO编程NIO深入分析flip源码:NIO 堆外内存与零拷贝内存映射文件文件锁使用传统java的网络通信NIO 非阻塞通信选择器Selector重要SelectionKey 的channel源码使用Selector监听多个客户端的例子 NIO深入分析 nio读写文件一定要经过Buffer, 读写状态反转要调用.flip()函数,读转成写,或者写状态转成读,不然会报错。 2...原创 2019-08-12 18:19:40 · 369 阅读 · 0 评论 -
JVM深入学习(二)类的加载和双亲委托机制
JVM深入学习(二)类的加载和自定义类加载器类加载器种类类初始化的步骤类加载器的父亲(双亲)委托机制类加载器流程图各个类加载器介绍系统类加载器源码分析(重点)分析代码classload获取ClassLoader途径类加载器源码分析(本节重点)自定义类加载器自定义类加载器继承ClaasLoader: 类加载器种类 与接口相反,例如子类没有主动使用到父类,但是类加载器会加载父类。但是对接口并不是 ...原创 2019-08-11 16:24:57 · 423 阅读 · 0 评论 -
JVM深入学习(一)类加载器介绍
JVM深入学习(一)类加载器介绍类加载步骤和生命周期类的初始化---主动使用和被动使用类加载初始化代码详解在这里插入图片描述例子2例子3接口初始化规则 类加载步骤和生命周期 类加载器 举例 加载: 将磁盘中的类通过二进制文件加载到内存 连接: 确定类与类之间的关系,类与类之间的引用,校验等 初始化: 给变量赋值 生命周期 类的初始化—主动使用和被动使用 运行期才产生.class文件,...原创 2019-08-09 17:54:35 · 332 阅读 · 0 评论 -
netty学习笔记 (一) pb,thrift,gRPC
netty学习笔记之常见RPC框架安装和使用使用protobuf1.1到[protocolbuffers](https://github.com/protocolbuffers/protobuf/releases)下载1.2配置编译器 protoc-3.9.0-win64.zip的环境变量1.3到maven仓库里查找protobuf相关插件,引入Gradle中管理(如果序列化不成功可能包不完整)1...原创 2019-08-08 16:23:29 · 774 阅读 · 0 评论