java基础
文章平均质量分 63
基础知识
阳光下是个孩子
这个作者很懒,什么都没留下…
展开
-
java断言
assert关键字是jdk1.4之后添加的,用法一般有两种:1.assert <布尔表达式> 如果为true,表示断言成功,程序继续执行,如果为false, 会抛出AssertionError,继承Error类,与我们经常用到的exception类都是集成于Throwable类的.项目中使用断言之后,就不需要system.out了,而且在执行打包过程中, 编译单元测试的时候, s...原创 2018-04-19 11:55:58 · 8054 阅读 · 15 评论 -
java程序性能优化(一)
根据<java程序性能优化>整理字符串的分割和查找,在日常编码中很常见,平时使用最多的split()函数,但是也有一些更优的选择,下面就让我来一一对比:上面的这个就是常用的split()函数,大家可以看到最下面的时间显示.下面这个是jdk提供的专门的用来处理字符串分割子串的工具类.可以看到执行时间,明显优于split()函数. 即使在这段代码中,StringTokenizer对象被不断...原创 2018-04-22 21:36:08 · 498 阅读 · 16 评论 -
java集合(一) 总体框架
Java集合工具包位置是java.util.* java集合大致可分为Set List Queue Map四种体系.其中set代表无序,不可重复的集合.list代表有序重复的集合. map代表具有映射关系的集合.queue代表队列集合实现 我们来看一下框架图: 下面我们来大概了解一下. java集合类主要由两个接口派生出来:Collection和Map,Collection和Map是j...原创 2018-04-24 11:52:55 · 566 阅读 · 2 评论 -
lombok简介及使用
最近看视频中再用lombok,就查了查.就推荐给大家:lombok 官网有一个差不多4min的视频.把大概使用都给讲了讲,不想看视频,就有文档,我觉得还是蛮细致的 lombok就是提供了简单的注解的形式来帮助我们简化一些必须,但是臃肿的代码,特别是对pojo安装我是idea哈. 首先在下载插件:https://plugins.jetbrains.com/plugin/6317-...原创 2018-05-03 17:39:37 · 480 阅读 · 0 评论 -
jvm运行机制
jvm启动流程一个java虚拟机启动时,肯定是java命令,或者javax命令. 当启动时,先装载配置,找到配置文件之后, 会定位所需的dll. jvm.dll是java虚拟机一个主要的实现.在匹配当前系统版本dll后, 会用dll去初始化jvm虚拟机,获取相关一些native接口. 比如JNIEnv接口. 这个接口它提供了大量与jvm的操作,然后找到main方法, 就开始运行了....原创 2018-05-13 16:34:40 · 264 阅读 · 0 评论 -
GC算法和种类
GC的概念 如何选择释放堆空间,就和算法有关系了 GC算法 引用计数法 老牌垃圾回收算法 通过引用计算来回收垃圾 使用者 COM ActionScript3 Python引用计数法的问题 引用和去引用伴随加法和减法,影响性能 很难处理循环引用,导致垃圾对象的都不为1, 因此无法进行释放 标记清除 现代垃圾回收算法的思想基础. 分为两个阶段:标记阶段和清除阶段. 一...原创 2018-05-20 19:36:55 · 456 阅读 · 0 评论 -
java8新特性-lambda
—–通过学习尚硅谷视频所得—–Lambda表达式是什么简单说: Lambda是一个函数,一段代码能当做参数传给方法(将代码像数据一样进行传递).可以写出更简洁,更灵活的代码.为什么有这么个需求: 获取当前公司员工年龄大于35的员工信息 先来一个pojopackage com.tgb.kwy;import com.tgb.kwy.Employee.Status;imp...原创 2018-05-23 09:59:59 · 303 阅读 · 0 评论 -
java8新特性-函数式接口
—–通过学习尚硅谷视频所得—– 上篇文章学习了Lambda表达式, 而lambda表达式需要函数式接口的支持什么是只包含一个抽象方法的接口, 称为函数式接口可以使用@FunctionalInterface修饰,可以检查这个接口是不是函数式接口 怎么检查呢? 我们在一个接口上, 加了注解@FunctionalInterface之后,如果在这个接口中,想再定义一个抽象方法, 是不...原创 2018-05-23 11:29:13 · 281 阅读 · 0 评论 -
java8新特性-方法引用和构造器引用
—–通过学习尚硅谷视频所得—–方法引用若Lambda体中的内容已经实现了,我们可以使用”方法”,可以理解为方法引用是Lambda表达式的另一种表现形式 主要有三种语法格式:对象::实例方法名PrintStream ps=System.out;Consumer&lt;String&gt; con1=ps::print;con1.accept("adcdef");...原创 2018-05-23 11:49:35 · 461 阅读 · 0 评论 -
java8新特性-Stream
—–通过学习尚硅谷视频所得—– 咱们在sql中,可以对集合进行增删改插入和统计,但是在java程序中,对于一些集合, 都是通过循环的方式来处理里面的数据的.所以,对于大数量的集合,能不能充分利用多核的优势,并行去处理. 这里就来介绍一种这样的处理数据的风格—Stream 这种特性的引入,让我们更加便利一些函数式编程方法的使用.可以充分利用系统并行能力,不需要自己手工去做很多底层的工作.定...原创 2018-05-23 20:31:08 · 409 阅读 · 0 评论 -
JVM-类装载器
类装载器是什么我们敲的代码即.java文件经过编译之后得到.class文件,然后这个文件通过JVM的虚拟机加载的到内存中,并形成一个class对象,这个称之为类的加载过程,负责将.class字节码文件加载到内存的工具称之为类加载器。 下面来说说类加载的过程过程加载装载类的第一个阶段取得类的二进制流转为方法区数据结构在java堆中生成对应的java.lang.C...原创 2018-06-03 15:28:46 · 316 阅读 · 2 评论