- 博客(12)
- 资源 (120)
- 收藏
- 关注
原创 Java并发编程的艺术--volatile的定义与实现原理
      Java语言规范第3版中对volatile的定义如下:Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁要更加方便。如果一个字段被声明成volatile,Java线程内存模型确保
2018-04-25 21:51:08 763
原创 Java Fork/Join与协程
一、概览Fork/Join并行方式是获取良好的并行计算性能的一种最简单同时也是最有效的设计技术。Fork/Join并行算法是我们所熟悉的分治算法的并行版本,典型的用法如下:Result solve(Problem problem) { if (probl
2018-04-22 17:52:34 1802
原创 最长公共连续子串
小明有两个字符串(可能包含空格),小明想找出其中最长的公共连续子串,希望你能帮助他,并输出其长度。 输入描述:输入为两行字符串(可能包含空格),长度均小于等于50。 输出描述:输出为一个整数,表示最长公共连续子串的长度。示例1 输入: abcde abgde输出:2 public int getMaxCommonString(String strA, String ...
2018-04-19 08:17:27 1199
原创 同步、异步、阻塞、非阻塞
同步/异步主要针对C端:同步:所谓同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事异步:异步的概念和同步相对。当c端一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件...
2018-04-07 17:31:33 396
原创 Java Runnable和Thread
刚才刷知乎的之后,突然刷到一个问题:Thread与Runnable区别?然后我看了一下源码,发现Runnable是一个接口:@FunctionalInterfacepublic interface Runnable { public abstract void run();}而Thread是实现了Runnable接口的一个类 我有点好奇的就是这两个有啥好纠结的?...
2018-04-07 16:46:17 864
原创 IntelliJ IDEA 快捷键 创建测试类
IntelliJ IDEA中用快捷键自动创建测试类的默认按键为: ctrl+shift+t –> create new test菜单位置: 使用快捷键或者点击菜单后: 会出现如下界面: 勾选需要测试的方法,点击OK。个人微信公众号: 作者:jiankunking 出处:http://blog.csdn.net/jiankunking...
2018-04-07 16:05:47 20318 1
原创 Java Lambda表达式 实现原理分析
本文分析基于JDK 9一、目标本文主要解决两个问题: 1、函数式接口 到底是什么? 2、Lambda表达式是怎么实现的?先介绍一个jdk的bin目录下的一个字节码查看工具及反编译工具:javap 二、函数式接口@FunctionalInterfaceinterface IFunctionTest<T> { public void prin...
2018-04-06 07:39:10 25075 8
转载 Systemd 入门教程:命令篇 journalctl
五、日志管理Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件是/etc/systemd/journald.conf。journalctl功能强大,用法非常多。# 查看所有日志(默认情况下 ,只保存本次启动的日志)$ sudo journalctl# 查看内核日志(不显示...
2018-04-05 14:28:41 6411
转载 Systemd 入门教程:命令篇 systemctl
一、系统管理Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。1.1 systemctlsystemctl是 Systemd 的主命令,用于管理系统。# 重启系统$ sudo systemctl reboot# 关闭系统,切断电源$ sudo systemctl poweroff# CPU停止工作$ sudo systemctl halt...
2018-04-05 14:25:23 6556 1
原创 linux 自启动 失败问题原因查找
今天在通过ansible playbook安装zookeeper_exporter并设为开机自启的时候,一直失败。 1、参看服务是否启动失败systemctl --failed2、查看自己服务具体错误信息systemctl status zk_exporter可以看到是权限问题,修改权限,搞定个人微信公众号: 作者:jiankunking 出处:h...
2018-04-05 14:03:21 5303
原创 Java sleep和wait的区别
sleep() 方法 wait() 方法 sleep()使当前线程进入停滞状态(阻塞当前线程),让出CUP的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会; wait()方法是Object类里的方法;当一个线程执行到wait()方法时,它就进入到一个和该对象相关的等待池中,同时失去(释放)了对象的机锁(暂时失去机锁,wait(l...
2018-04-05 10:44:18 10018
原创 进程、线程、协程
一、概念1、进程进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大,但相对比较稳定安全。 进程是分配资源的基本单位,也是我们说的隔离。2、线程线程...
2018-04-05 09:15:03 536
zookeeper开源客户端Curator
2017-03-25
zookeeper开源客户端ZkClient使用
2017-03-25
java cpu 内存占用高 问题 模拟并排查
2018-03-29
理解 channels - Kavya Joshi
2018-01-18
zookeeper常见应用场景简单实现及ppt
2017-03-26
zookeeper应用场景实现demo及ppt资料
2017-03-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人