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 · 1340 阅读 · 0 评论 -
JVM--类加载
Class文件结构 8位字节作为基础单位 数据类型为无符号数和表 内容 前四位是魔数,代表是class文件,0xCAFEBABE 5到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 · 225 阅读 · 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 · 523 阅读 · 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 · 256 阅读 · 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-精简版本
核心静态方法registerNatives native方法 内部调用 类加载第一件事就是执行registerNatives 内部逻辑待补充 currentThread native方法 支持外部调用 获取当前执行的线程 内部逻辑待补充 yield native方法 放弃当前线程的执行权,重新和其他等待线程竞争 内部逻辑待补充 sleep native方法 使当前执行的线程睡眠(暂时停止执行)指定的原创 2017-02-17 17:58:17 · 1583 阅读 · 0 评论 -
JAVA源码笔记(jdk 1.7.0_75)--Thread-详细版本
核心静态方法registerNatives native方法 内部调用 类加载第一件事就是执行registerNatives 内部逻辑待补充 currentThread native方法 支持外部调用 获取当前执行的线程 内部逻辑待补充 yield native方法 放弃当前线程的执行权,重新和其他等待线程竞争 内部逻辑待补充 sleep native方法 使当前执行的线程睡眠(暂时停止执行)指定的原创 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 评论