java
yibei8811
这个作者很懒,什么都没留下…
展开
-
一行代码的神奇!
发现作为一个技术人,没有blog有时候不好意原创 2014-08-11 13:37:11 · 583 阅读 · 0 评论 -
《Java并发编程实战》读书笔记
3.1可见性 “...因此,从内存可见性的角度来看,写入volatile变量相当于退出同步代码块,而读取volatile变量相当于进入同步代码块。” 是否理解为,写入是没有锁的(所以并发写会产生问题),读取的时候有锁,所以读到的不是缓存的数据,同时不会被写入操作更改。 volatile变量适用于一写多读。原创 2016-09-24 15:38:58 · 1027 阅读 · 2 评论 -
怎么理解一个Java程序
突然顿悟一件事,我们启动一个Java程序,相当于启动了一个进程用于启动JVM,而Main函数其实其中的一个线程。每次总是关注着Thread是不是守护状态。生怕Main函数结束了,Thread还在跑,其实不用那么忧愁。因为进程都挂了,相当于停止了JVM,线程自然也活不了。原创 2016-10-17 16:31:18 · 434 阅读 · 0 评论 -
《EXPERT.ONE.ON.ONE.J2EE.DEVELOPMENT.WITHOUT.EJB》读书笔记
用户事务管理 是一个AOP的典型应用。比如控制哪些方法组成一个事务。方法入口的切面日志,也是一个AOP的典型应用。有一点比较模糊是类似数据源或者其它链接的open(),close() 这个是面向切面处理的还是模板方法处理的?我觉得两者都可以,而spring的JdbcTemplate的认为用的是模板方法与AOP无关,有关的是事务管理。事务管理只有3个方法,获得事务,事务提交,事务回滚原创 2016-11-10 16:03:14 · 410 阅读 · 0 评论 -
也谈字符流和字节流
之前对一些文件用字符流的方式去读取,结果转回String的时候没太注意,发生了一些异常,很诡异。做一次记录。 //读取文件内容 try { FileInputStream fs = new FileInputStream(file); byte[] buf = new byte[(int)file.length()]; fs.read(buf);原创 2016-11-22 14:47:36 · 273 阅读 · 0 评论 -
总结一下java volatile
读了很多书籍,深有体会。volatile的主要有2个作用 第一,阻止虚拟机对代码优化。解决指定重排问题。第二,线程中变量可以实时同步到主存中,解决可见性问题。原创 2016-07-11 14:44:04 · 265 阅读 · 0 评论 -
一次工作中程序bug的调试总结
一个服务端程序,跑了1年半了,基本没出过啥问题,但是最近4个月宕机了2次,很是纠结!而且没有任何出错日志。和下面的链接描述很像。http://www.iteye.com/problems/102390https://q.cnblogs.com/q/64085/阅读后,还是得到了不少启发。之前我也jstack对比过进程因为数量繁多。又没给线程起明确的名字,排除的时候有很多原创 2017-03-26 17:10:56 · 380 阅读 · 0 评论 -
Java 泛型返回值 泛型<T> T 与 T 的区别
最近看源码有的方法返回值是<T> T有的方法返回值是T那么区别在哪里?public class Request<T> { private <T> T getListFisrt(List<T> data) { if (data == null || data.size() == 0) { ...原创 2019-05-13 18:16:55 · 4569 阅读 · 0 评论 -
java1.8 stream关于类型转换的一些问题
类型转换 double[] b1 = (double[])new Object();//Object 可以直接转换数组 double[] b2 = (double[])new Object[3];//error 对象数组不能转基本类型数组 Double[] b3 = new Double[3]; double[] b4 = (do...原创 2019-05-15 15:18:05 · 9796 阅读 · 0 评论 -
java 线程结束做了什么?
public class ThreadA extends Thread{ @Override public void run() { try { TimeUnit.SECONDS.sleep(10); } catch (InterruptedException e) { // } ...原创 2019-05-20 20:46:30 · 269 阅读 · 0 评论 -
java测试父子类中的锁对象
本来想测试一下子类中调用父类方法,如果都是同步方法,锁对象是否相同。后来还发现很多理解不够深入的地方,一起写代码测试了一下。//测试锁对象class Father { int a = 1; synchronized void doX() { System.out.println(this.toString()); System.out.println(super.toStrin原创 2016-08-23 10:49:23 · 523 阅读 · 0 评论 -
谈谈java的Collections.synchronized()
java中Collections.synchronized()的方法很好用~有一次看到一个很优秀的同事写了以下一串代码,如下private static volatile ConcurrentMap<String, Map<Integer, Set<String>>> all;public void demo(){ ... Map&l...原创 2016-06-17 17:23:23 · 2432 阅读 · 0 评论 -
Netty权威指南读书笔记
《Netty权威指南》花了一个星期看完了,看书效率的提高,更多的是因为很多东西多少都已了解些。 不过,依然有很多东西写的比较精彩,开阔了眼界。1. p458页,“java内存的交互协议...” lock,unlock,read,write 主内存变量 load,use,assign,store 工作内存变量 书中store和write这里的解释原创 2016-07-12 14:18:55 · 326 阅读 · 0 评论 -
工作总结概述
本文档主要从我工作中涉及的4个方向(文件解析,数据库,R和Hadoop)入手。主要记录一些,别人不容易发现的问题。google能简单检索出解决方案的问题,我就不多累述,并没有太多意义。==========================================================================================================原创 2015-10-05 18:00:41 · 802 阅读 · 0 评论 -
Java之也谈sleep()和wait()
讨论sleep()和wait()的很多文章流传蛮广,甚至有些都是错误的。那我我也谈谈自己的观点。首先sleep(),直接看官方文档Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds, subject to t原创 2015-10-05 20:17:26 · 234 阅读 · 0 评论 -
hadoop之yarn Protocol Buffers
我学习使用的hadoop源码是2.2版本,里面有一个相关Protocol Buffers的Jar包叫protobuf-java-2.5.0.jar。使用protobuf生成的java类会import protobuf-java-2.5.0.jar中的类。所以Jar包的版本和protoc.exe版本必须一致。可以去https://github.com/google/protobuf/rele原创 2015-10-07 21:15:01 · 593 阅读 · 0 评论 -
hadoop之IOUtils是否需要关闭流?
很久没写blog,有很多值得写的地方。慢慢补。Hadoop中有个常用的方法org.apache.hadoop.io.IOUtils.copyBytes(InputStream in, OutputStream out, int buffSize),用于将本地文件上传至hdfs。入参数in和out用完后是否需要关闭流呢?显而易见的是流用完后需要关闭,但是经验告诉我,每次写mapreduce,原创 2016-03-06 16:53:38 · 6090 阅读 · 0 评论 -
修改HttpServletRequest的中的参数值
利用SpringMVC上传文件文件,方法A: @RequestMapping(value = "/saveJobInfoFromFile", method = {RequestMethod.POST}) @ResponseBody public ReturnInfo saveJobInfoFromFile(HttpServletRequest request,HttpServletRespon原创 2016-03-11 19:06:13 · 8047 阅读 · 0 评论 -
Eclipse Maven WebApp迁移至MyEcipse
很久不写web程序,每次调试都去找接口人,很是麻烦。所以决定自己部署一下程序,遇到了不少麻烦事情,做下记录。首先MyEclipse-->Web-->Context Root -->Web-root folder: 显示为"foo",并且无法修改。我检索项目下所有文件,发现.jsdtscope文件存在“foo”,所以修改为"src/main/webapp";接着MyEclipse-->D原创 2016-03-11 16:27:50 · 618 阅读 · 0 评论 -
zookeeper curator 源码试读
首先看PathChildrenCache.java private volatile Watcher childrenWatcher = new Watcher() { @Override public void process(WatchedEvent event) { offerOperation(new原创 2016-04-15 14:28:52 · 635 阅读 · 0 评论 -
tomcat Maven插件的安装使用指南
首先看官方文档 http://tomcat.apache.org/maven-plugin-2.2/左上角Modules中选Apache Tomcat Maven Plugin :: Tomcat 7.x 跳转至http://tomcat.apache.org/maven-plugin-2.2/tomcat7-maven-plugin/index.htmlgoals page跳原创 2016-05-25 14:56:42 · 410 阅读 · 0 评论 -
java编程思想读书笔记
听说过很多人都说编程思想翻译的太烂,读了200来页深有体会。做个总结吧214页局部内部类不能有访问说明符!访问说明符指的是 private ,prototced,public.原创 2016-07-08 19:39:07 · 628 阅读 · 0 评论 -
ExecutorService 为什么需要shutdown()?
一段类似的代码 void test(){ ExecutorService exec = Executors.newCachedThreadPool(); exec.execute(()->{});// exec.shutdown();//point 1 }exec到底是否需要shutdown()?finalize()是...原创 2019-05-24 18:05:23 · 9836 阅读 · 1 评论