java基础
zhangshk_
一直在路上。。。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
生产者消费者问题简单解决之ArrayBlockingQueue的详解与使用
ArrayBlockingQueue是一个边界缓冲对流,底层是array,他是FIFO先进先出的。新插入的数据会被插入到队列的末尾,而且总是从队头取数据。 生产者把数据插入的队列的末尾,消费者总是从队列的头部拿数据,当队列满了之后,再往队列中插入数据会造成队列的阻塞,同样,从空的队列中取数据,也是阻塞的。 有一个公平策略,我们如果希望,队列中的数据总是按照生产者生产数据的顺序,取队列中原创 2017-12-20 00:08:27 · 8529 阅读 · 0 评论 -
java执行linux和windows脚本工具类
我们有时候会在java代码中,去执行一个linux shell脚本或者windows触发执行一个.bat脚本本文章,会写一个通用的脚本工具类,通过这个工具类,可以在java代码中,调用linux shell脚本,或者window .bat脚本。 比如我们数据平台,有一个数据分析工具,当数据分析工程师,通过我们的工具,配置了某一个数据分析任务,后台的injector进程会监测到这个j...原创 2018-09-30 12:24:45 · 2159 阅读 · 0 评论 -
(转)大厂总结的前200页Java面试题都在这里了
唐尤华 JAVA葵花宝典 基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-safe 机制有什么区别...转载 2018-10-11 10:27:15 · 315 阅读 · 0 评论 -
彻底搞懂Class.getResource和ClassLoader.getResource的区别和底层原理
一案例驱动 二源码分析 三类加载器ClassLoader 四总结 五参考 一案例驱动最近加载文件的时候遇到了一个问题,很有意思! 具体看下面案例代码public class TestClassLoader { public static void main(String[] args) { System.out.println(TestClassLo...原创 2018-09-14 18:18:19 · 79551 阅读 · 8 评论 -
String.split(),StringTokenizer,StringUtils.split()的源码分析与性能比较
他们都是用来对字符串进行切割 String.split():从jdk1.4开始,通过正则表达式进行字符串的匹配切割,有可能会抛出 PatternSyntaxException异常,返回的是切割之后的字符串数组。String 的split 有两个重载的方法分别是 public String[] split(String regex, int limit) { ...原创 2018-09-13 12:45:26 · 1228 阅读 · 0 评论 -
equals 和 hashCode 到底有什么联系?一文告诉你!
转载:http://www.cnblogs.com/kismetv/p/7191736.html写在前面Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码。equals()和hashCode()都不是final方法,都可以被重写(overwrite)。本文介绍了2种方法在使用和重写时,一些需要注意的问...转载 2018-09-13 11:33:46 · 185 阅读 · 0 评论 -
String、StringBuffer、StringBuilder的区别,理解String不变性
都是final类,不可以被继承 String是字符串常量;StringBuffer,StringBuilder是字符串变量 String长度是不可变的;StringBuffer,StringBuilder长度是可变的 StringBuffer是线程安全的;StringBuilder不是线程安全的。StringBuilder比StringBuffer快 String不变性的理解: ...原创 2018-09-17 15:01:10 · 626 阅读 · 0 评论 -
彻底搞懂java反射机制
是什么?(概念) 为什么?(java中为什么需要这种机制,它可以解决什么问题) 可以干什么?(场景分析) 怎么干? (卷起袖子撸) 总结 1. 是什么?通俗的讲就是反射可以在运行时根据指定的类名获得类的信息。(Java 反射机制是在运行状态中,对于任意一个类,都能够获得这个类的所有属性和方法,对于任意一个对象都能够调用它的任意一个属性和方法。这种在运行时动态的获取信息以及动态...原创 2018-09-16 01:01:47 · 472 阅读 · 0 评论 -
java8 stream pipelines中 skip 和 limit 执行过程深入理解
我们现在看两个问题:Stream.of(1,2,3,4,5) .peek(x->System.out.print("\nA"+x)) .limit(3) .peek(x->System.out.print("B"+x)) .forEach(x->System.out.print("C"+x));输出为:A1B1C1A...原创 2018-06-20 13:14:07 · 4528 阅读 · 0 评论 -
java8 stream中 forEach和 forEachOrdered 当parallel时候执行过程&安全问题深入理解
直观来看,一般都知道,一个是不按照顺序输出,一个按照顺序输出。那当stream加入了parallel修饰的时候,会怎么处理呢?先来看一个例子:Stream.of("AAA,","BBB,","CCC,","DDD,").parallel().forEach(System.out::print);System.out.println("\n_____________________________...原创 2018-06-22 14:47:47 · 6205 阅读 · 0 评论 -
使用Joda-Time 处理时间真的好方便!!!
既然无法摆脱时间,为何不设法简化时间处理?https://www.ibm.com/developerworks/cn/java/j-jodatime.htmlimport org.joda.time.DateTime;import java.util.Calendar;import java.util.Date;public class JodaTimeTest { public ...原创 2018-05-18 16:55:06 · 1536 阅读 · 1 评论 -
Java并发编程:volatile关键字解析
转载自:http://www.cnblogs.com/dolphin0520/p/3920373.html volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要转载 2018-01-17 17:28:34 · 421 阅读 · 0 评论 -
常见redis面试题目
1 什么是redis? Redis 是一个基于内存的高性能key-value数据库。 (有空再补充,有理解错误或不足欢迎指正) 2 Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可...原创 2018-10-23 15:24:04 · 221 阅读 · 0 评论
分享