随笔分类 - java
摘要:命名代码检查 根据 中第6.8节的要求, Java 程序命名应当符合下列格式的书写规范:类 ( 或接口 ) : 符合驼式命名法, 首字母大写.方法 : 符合驼式命名法,首字母小写字段 :类或实例变量 : 符合驼式命名法 , 首字母小写常量 : 要求全部有大写字母或下划线构成, 并且第一个字符不能...
阅读全文
摘要:java线程转储java的线程转储可以被定义为JVM中在某一个给定的时刻运行的所有线程的快照。一个线程转储可能包含一个单独的线程或者多个线程。在多线程环境中,比如J2EE应用服务器,将会有许多线程和线程组。每一个线程都有它自己的调用堆栈,在一个给定时刻,表现为一个独立功能。线程转储将会提供JVM中所...
阅读全文
摘要:使用信号量来 限制无边界池子与队列public class BoundedExecutor { private final Executor exec; private final Semaphore semaphore; public BoundedExecutor(E...
阅读全文
摘要:停止基于服务的线程 应用程序通常会创建拥有服务的线程, 比如线程池. 这些服务的存在时间通常要比创建他们的方法存在的时间更长, 如果应用程序优雅的退出了,这些服务的线程也需要结束.因为没有退出线程惯用的优先方法, 他们需要自行结束. 明智的封装实践指出,你不应该操控某个线程一一中断它,改变他的优...
阅读全文
摘要:java.util.Timer计时器有管理任务延迟执行("如1000ms后执行任务")以及周期性执行("如每500ms执行一次该任务")。但是,Timer存在一些缺陷,因此你应该考虑使用ScheduledThreadPoolExecutor作为代替品,Timer对调度的支持是基于绝对时间,而不是...
阅读全文
摘要:并发技巧清单可变状态是至关重要的(It`s the mutable state stupid) . 所有问题都可以归结为如何协调对并发状态的访问. 可变状态越少就越容易确保线程安全性.尽量将域声明为final类型 , 除非他们是可变的.不可变对象一定是线程安全的 不可变对象能极大的降低并发编程的...
阅读全文
摘要:闭锁 一种可以延迟线程的进度直到其到达终止状态.可以用来确保某些活动直到其他活动都完成后才继续执行 例如:确保某个计算在其需要的所有资源都被初始化了之后才继续执行.确保某个服务在其他依赖的服务都启动了之后才开始执行等待某个操作的所有参与者(如LOL) 都就绪了之后再继续执行.锁的实现1.Coun...
阅读全文
摘要:局部创建对象(不正确发布:当好对象变坏时)代码清单1:public class StuffIntoPublic { public Holder holder; public void initialize() { holder = new Holder(42...
阅读全文
摘要:4.3.4 并发性 选择器对象是线程安全的,但它们包含的键集合不是。通过keys( )和selectKeys( )返回的键的集合是Selector对象内部的私有的Set对象集合的直接引用。这些集合可能在任意时间被改变。已注册的键的集合是只读的。如果您试图修改它,那么您得到的奖品将是一个java.l...
阅读全文
摘要:选择器,可选择通道和选择键类 现在,您也许还对这些用于就绪选择的Java成员感到困惑。让我们来区分这些活动的零件并了解它们是如何交互的吧。图4-1的UML图使得情形看起来比真实的情况更为复杂了。看看图4-2,然后您会发现实际上只有三个有关的类API,用于执行就绪选择:选择器(Selector) ...
阅读全文
摘要:管道Pipe java.nio.channels包中含有一个名为Pipe(管道)的类。广义上讲,管道就是一个用来在两个实体之间单向传输数据的导管。管道的概念对于Unix(和类Unix)操作系统的用户来说早就很熟悉了。Unix系统中,管道被用来连接一个进程的输出和另一个进程的输入。Pipe类实现一个...
阅读全文
摘要:DatagramChannel 最后一个socket通道是DatagramChannel。正如SocketChannel对应Socket,ServerSocketChannel对应ServerSocket,每一个DatagramChannel对象也有一个关联的DatagramSocket对象。不过...
阅读全文
摘要:JSP访问Spring中的beanLnua platform spy page
阅读全文
摘要:nginx做反向代理显示在后台访问的真实ip总是显示127.0.0.1只要添加如下内容:proxy_set_header Host $host;proxy_set_header X-Forwarded-For $remote_addr;如果你是java环境做个检测jsp文件访问192.168.0.2...
阅读全文
摘要:最近一个项目中需要自己写个连接池, 写了一个下午,挺辛苦的,但不知道会不会出问题, 所以,贴到博客上,欢迎各路大神指点1. 配置信息:/** * */package cn.mjorcen.db.bean;import java.util.ResourceBundle;import org.ap...
阅读全文
摘要:java mail实现Email的发送,完整代码1、对应用程序配置邮件会话首先, 导入jar com.sun.mail javax.mail 1.5.2 javax.mail.Sess...
阅读全文
摘要:java 非法字符过滤 , 半角/全角替换package mjorcen.netty.test1;import java.io.UnsupportedEncodingException;public class CharByteConverter { /** * 全角转半角 *...
阅读全文
摘要:Netty4.x中文教程系列(四) 对象传输 我们在使用netty的过程中肯定会遇到传输对象的情况,Netty4通过ObjectEncoder和ObjectDecoder来支持。 首先我们定义一个User对象,一定要实现Serializable接口:package mjorcen.netty.o...
阅读全文
摘要:Netty4.x中文教程系列(四) ChannelHandler 上一篇文章详细解释了Hello World示例的代码。里面涉及了一些Netty框架的基础。 这篇文章用以解释ChannelHandler。笔者本身在以前写过文章ChannelHandler改动及影响和ChannelInitialize...
阅读全文
摘要:1.HelloServer 详解 HelloServer首先定义了一个静态终态的变量---服务端绑定端口7878。至于为什么是这个7878端口,纯粹是笔者个人喜好。大家可以按照自己的习惯选择端口。当然了。常用的几个端口(例如:80,8080,843(Flash及Silverlight策略文件请求端...
阅读全文