JAVA
文章平均质量分 72
尝拨云见子
拨开云雾见明月
展开
-
JAVA基础知识--主要特性
主要特性面向对象 类单继承接口多继承类实现接口动态绑定健壮性 强类型异常处理垃圾自动回收 弊端:容易忽略内存泄露问题中立 生成字节码class执行高性能 已逐步接近C++的性能其他特性 动态类加载远程调用多线程…原创 2017-02-07 11:08:55 · 228 阅读 · 0 评论 -
JAVA-IO模型(BIO,NIO,AIO)
基本概念阻塞和非阻塞 阻塞是进行读写时, 如果当时没有东西可读,或者暂时不可写, 程序就进入等待, 直到有东西可读或者可写为止 非阻塞是如果没有东西可读, 或者不可写, 读写函数马上返回, 而不会等待 同步和异步 同步是指的是用户操作后等待或者轮询的去查看操作是否就绪 异步是指用户某动作操作后便开始做其他动作,而当这个动作操作完成的时候用户会得到这个动作完成的通知IO原创 2017-03-25 10:01:13 · 1341 阅读 · 0 评论 -
JVM--类加载
Class文件结构8位字节作为基础单位数据类型为无符号数和表内容 前四位是魔数,代表是class文件,0xCAFEBABE5到8位是版本号,再分为次版本号和主版本号,从45开始,版本向下兼容接着是常量池入口接着是访问标志,类,接口,abstract,等等接着是类索引,父类索引,接口索引接着是字段表集合接着是方法表集合属性表集合类加载流程加载- 通过一个类的的全限定名来获取定义原创 2017-03-25 09:36:52 · 308 阅读 · 0 评论 -
高并发相关
多线程CountDownLatch 集群分布式缓存消息,异步化高并发与事务高并发与锁本地锁synchronizedReentrantLockReadWriteLock分布式锁redis锁zookeeper锁bio,nio,aiobionioaio原创 2017-03-22 10:26:03 · 230 阅读 · 0 评论 -
zookeeper-使用场景
统一命名服务比如像dubbo就是用的zookeeper的命名服务,利用的是树形的目录结构配置管理可以统一对配置进行动态的调整,利用的是节点变更的监听Leader 选举可以在多个机器中选出Leader,利用的是临时顺序编号目录节点(EPHEMERAL_SEQUENTIAL)分布锁在集群重需要某个操作保持一致性和时序性的时候,利用创建节点来做独占锁,利用EPHEMERAL_SEQUENTIAL来解原创 2017-03-21 11:20:38 · 227 阅读 · 0 评论 -
JAVA基础知识--环境以及自带工具
环境JAVA_HOME:配置JAVA的根目录,便于其他地方直接使用PATH:增加JAVA_HOME/bin目录,使java/bin目录下的命令可以直接访问,不加也可以,但需要带目录访问CLASSPATH: 这个配置1.5版本以后就没用了.可以不配置配置方案大部分都会把JAVA_HOME和PATH都配置到公共的profile里,如果有冲突(一个服务器上有多版本jdk使用)的情况下,使用其他两原创 2017-02-07 11:37:21 · 264 阅读 · 0 评论 -
zookeeper--ZAB协议
支持崩溃恢复的原子广播协议模式崩溃恢复,消息广播原创 2017-03-03 17:26:12 · 241 阅读 · 0 评论 -
JVM(1.7版本)--内存管理
内存划分方法区虚拟机栈由栈帧(stack frame)组成,是用于支持虚拟机进行方法调用和方法执行的数据结构,,用于存储局部变量表,,操作数栈,动态链接,方法出口等信息,它是虚拟机运行时数据区中的虚拟机栈的栈元素线程私有,方法从调用到执行完成对应着一个栈帧在虚拟机栈中入栈和出栈的过程.本地方法栈堆程序计数器每个线程会有独立的程序计数器,不存在内存溢出的问题内存泄露和内存溢出的区别内存溢出是指的原创 2017-03-03 13:53:11 · 399 阅读 · 0 评论 -
JAVA基础知识-常用但容易出错的代码
SimpleDateFormat 问题: 这是个非线程安全的类,如果定义为static,并发会导致问题这个类new的时候有一定的性能损耗解决方案 使用TreadLocal的方式,确保单个线程只new一次,不会有并发问题 -原创 2017-02-14 14:19:51 · 525 阅读 · 0 评论 -
JAVA基础知识--JAVA数据类型
简单类型 boolean byte char short int long float double void 二进制位数 1 8 16 16 32 64 32 64 – 封装器类 Boolean Byte Character Short Integer Long Float Double原创 2017-02-13 11:33:10 · 257 阅读 · 0 评论 -
JAVA基础知识--代码注意事项
代码规范参照阿里开放出来的规范吧 阿里java代码规范关键字访问控制修饰符 访问修饰符 同一个类 同包 不同包,子类 不同包,非子类 private 1 默认 1 1 protected 1 1 1 public 1 1 1 1需要注意的关键字 关键字 修饰范围 作用 场原创 2017-02-07 15:47:40 · 352 阅读 · 0 评论 -
JAVA源码笔记(jdk 1.7.0_75)--Thread-精简版本
核心静态方法registerNativesnative方法内部调用类加载第一件事就是执行registerNatives内部逻辑待补充currentThreadnative方法支持外部调用获取当前执行的线程内部逻辑待补充yieldnative方法放弃当前线程的执行权,重新和其他等待线程竞争内部逻辑待补充sleepnative方法使当前执行的线程睡眠(暂时停止执行)指定的原创 2017-02-17 17:58:17 · 1584 阅读 · 0 评论 -
JAVA源码笔记(jdk 1.7.0_75)--Thread-详细版本
核心静态方法registerNativesnative方法内部调用类加载第一件事就是执行registerNatives内部逻辑待补充currentThreadnative方法支持外部调用获取当前执行的线程内部逻辑待补充yieldnative方法放弃当前线程的执行权,重新和其他等待线程竞争内部逻辑待补充sleepnative方法使当前执行的线程睡眠(暂时停止执行)指定的原创 2017-02-15 18:28:05 · 505 阅读 · 0 评论 -
JAVA-常用集合
Collection(普通集合类)继承了Iterable接口,具有迭代器特性可以转换为数组List容量可变按索引访问有序可重复ArrayList非线程安全允许快速随机存取。等同与动态数组LinkedList双向链表方式实现,内含first,last两个节点(Node),Node内包含prev和next最佳顺序存取适合插入和移除元素Vector废弃CopyOnWri原创 2017-03-25 10:54:07 · 275 阅读 · 0 评论