java相关
文章平均质量分 70
danchu
这个作者很懒,什么都没留下…
展开
-
解决Myelcipse下中文字体小的问题
选择Windows->Preferences选项:选中General->Appearence->Colors and Fonts->basic下的Text Font ,然后点击edit,如下:MyEclipse10默认的是Consolas字体解决的方法是选择字体大小时,不要选择选择14,16,18那种,而是要选择中文类型,如五号,小五等。 这样就会使得汉字变大,和英文代码相原创 2013-12-19 22:27:23 · 750 阅读 · 0 评论 -
java I/O 系统
IO系统,是输入(Input)、输出(Output)系统的总称。对于程序语言设计者来说,设计一种好的IO系统是一项艰难的任务。因为IO系统真的很复杂: 1. 输入输出设备种类繁多,例如鼠标、键盘、文件、网络、控制台等 2. 输入输出方式繁多,例如:顺序输入输出、随机输入输出、带缓冲、按字符、按字节、按行等java作为一种较高层次的面向对象语言,其在设计IO系统的时候,初衷是为了屏蔽底层细节...原创 2018-02-25 20:43:42 · 465 阅读 · 0 评论 -
Class文件结构分析
Class文件概述Class文件是一组以8字节为基础单位的二进制流,各个数据项目按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符根据Java虚拟机规范,Class文件采用一组类C结构来存储数据,只包含两种数据结构:无符号数和表。无符号数是基本数据类型,以u1,u2,u4,u8来分别表示1字节,2字节,4字节,8字节;表是由多个无符号数或者其他表构成的符合数据结构,习惯性的以”...原创 2018-03-04 15:20:29 · 564 阅读 · 0 评论 -
Java中的ThreadLocal对象
1.什么是ThreadLocal 根据JDK文档中的解释:ThreadLocal的作用是提供线程内的局部变量,这种变量在多线程环境下访问时能够保证各个线程里变量的独立性。 从这里可以看出,引入ThreadLocal的初衷是为了提供线程内的局部变量,而不是为了解决共享对象的多线程访问问题。实际上,ThreadLocal根本就不能解决共享对象的多线程访问问题。2.ThreadLocal实现...原创 2017-04-04 23:32:47 · 9775 阅读 · 2 评论 -
虚拟机的类加载机制
虚拟机的类加载机制虚拟机的类加载机制,是一个被谈烂了的话题,估计只要学过java的人,都对其印象深刻,这里只是对这一部分的知识做一个总结、备忘。 一个Class文件要想成为能被Java虚拟机直接使用的Java类型,需要经历一系列的过程,这个过程称之为虚拟机的类加载机制,加载Class文件的模块就是类加载器。虚拟机中类唯一性判断Java中的类是由类加载器加载到虚拟机中的...原创 2018-03-14 23:33:25 · 476 阅读 · 0 评论 -
JVM内存区域划分
JVM运行时数据区也被称为JVM内存。JVM内存划分为几个部分:程序计数器、栈、堆、方法区1. 程序计数器程序计数器是线程私有的,记录当前线程所执行的字节码的行号指示器2. 栈(Stack)栈是线程私有的,按照栈中存储方法的不同,栈可以分为虚拟机栈(JVM Stack)和本地方法栈(Native Stack)。HotSopt实现中,本地方法栈和虚拟机栈合二为一虚拟机栈...原创 2018-02-27 23:01:16 · 453 阅读 · 0 评论 -
Java知识点梳理
JVM基本知识Java内存区域垃圾回收与内存分配策略虚拟机性能检测与故障处理工具虚拟机的类加载机制(ClassLoader双亲委派) 多态实现机制Java中的语法糖Java与线程Java基础知识 数据结构List(ArrayList,LinkedList)Set(HashSet,LinkedSet,TreeSet)Map(HashMap, HashTable,TreeMap)Java8Java知识...原创 2017-11-06 10:05:15 · 351 阅读 · 0 评论 -
logback配置
根节点ConfigurationConfiguration包含属性scan: 是否扫描配置文件的变化并重新加载,默认为truescanPeriod:扫描配置文件变化的时间间隔,只有当scan为true时生效。默认时间单位为毫秒,默认扫描间隔为1分钟。debug:是否打印logback内部的日志信息,可以实时打印logback运行状态。默认值为falseConfiguration包含四个常用的原创 2017-09-11 10:18:47 · 850 阅读 · 0 评论 -
JavaBean中布尔类型使用注意
JavaBean是一个标准,遵循标准的Bean是一个带有属性和getters/setters方法的Java类。JavaBean的定义很简单,但是还有有一些地方需要注意,例如Bean中含有boolean类型的属性。我们知道对于一个属性来说,如果其命名为test,那么其getter和setter方法一般为getTest()和setTest。但是如果test为一个布尔类型,那么其getter和setter原创 2017-04-26 19:59:53 · 9522 阅读 · 0 评论 -
Kafka 设计与原理详解
原文地址:http://blog.csdn.net/suifeng3051/article/details/48053965 基本是翻译的kafka官方文档一、Kafka简介本文综合了我之前写的kafka相关文章,可作为一个全面了解学习kafka的培训学习资料。转载请注明出处 : 本文链接1.1 背景历史当今社会各种应用系统诸如商业、社交、搜索、浏览等像信息工转载 2017-05-23 20:17:25 · 568 阅读 · 0 评论 -
Junit单元测试
Junit是干什么的我在这里就不讲解了。直接开始正题。常用的注解Junit中的注解很多,我们首先来看一下最常用的一些注解 - @Test:把一个方法标记未测试方法 - excepted:用来测试异常的,方法抛出该异常说明测试成功 - timeout:用来测试性能的,在规定的时间内完成,说明成功。注意单位是毫秒 - @Before:每个测试方法执行前自动调用一次原创 2017-04-20 20:34:09 · 395 阅读 · 0 评论 -
CGLIB(Code Generation Library)详解
什么是CGLIBCGLIB是一个强大的、高性能的代码生成库。其被广泛应用于AOP框架(Spring、dynaop)中,用以提供方法拦截操作。Hibernate作为一个比较受欢迎的ORM框架,同样使用CGLIB来代理单端(多对一和一对一)关联(延迟提取集合使用的另一种机制)。CGLIB作为一个开源项目,其代码托管在github,地址为:https://github.com/cglib/cglib为什么原创 2017-04-19 10:55:11 · 52950 阅读 · 18 评论 -
Java动态代理分析
Java动态代理机制的出现,使得Java开发人员不用手工编写代理类,只要简单地制定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分配到委托对象上反射执行,配置执行过程中,开发人员还可以进行修改代理设计模式代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息、过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。原创 2017-04-12 20:27:16 · 17461 阅读 · 4 评论 -
java并发之AbstractQueuedSynchronizer
我们知道,在进行并发编程的时候多多少少总会涉及到对共享资源的并发处理,这个时候就需要使用同步工具来控制线程对资源的并发访问了。我们可以使用synchronized关键字来控制同步,也可以从java.util.concurrent.locks包下的众多lock中挑选一款合适的锁来进行控制。很简单是吗?但是你知道这些锁的内部实现原理是什么样的吗?请听我一一道来,文章很长,相信爱学习的你一定会耐心的看完...原创 2017-03-17 00:11:31 · 567 阅读 · 0 评论 -
Java内置集合类(持续更新)
Java内置集合类此文主要用来对Java内置的集合类进行回顾总结。PriorityQueue优先级队列内部基于一个优先堆。优先级队列中的元素要么按照natural ordering排序,要么在创建的时候指定一个Comparator比较器优先级队列本身是没有大小限制的,内部通过使用一个数组来维护一个最小堆(堆顶是最小的元素)不保证线程安全,如果需要线程安全的优先级队列,需要使原创 2017-03-20 19:41:44 · 975 阅读 · 0 评论 -
谈谈Java中的语法糖
语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率。说白了,语法糖就是对现有语法的一个封装。原创 2017-02-11 20:43:01 · 22366 阅读 · 11 评论 -
Java并发基础之CAS操作
什么是CASCAS是Compare And Swap的缩写,翻译成中文为比较并交换。java.util.concurrent包完全建立在CAS的基础之上,是由Java虚拟机提供的一种同步原语,实现了一种区别于synchronize同步锁的乐观锁。在CAS操作中,涉及到三个值:内存值A,旧的预期值B,要修改的新值C。当且仅当预期值B和内存值A相同时,将内存值A修改为C,否则什么都不做,一般C...原创 2018-03-18 23:47:56 · 741 阅读 · 0 评论