`
文章列表
关于线程中断thread interrupt 在多线程编程中经常会遇到需要中止线程的情况,比如启动多个线程去数据库中搜索,如果有一个线程返回了结果,其他线程就可以取消了(Thread.stop()已经建议不要再使用) 1.通过成员方法Thread.interrupt()来设置中断状态为true 2.通过成员方法Thread.isInterrupted()来获取中断状态 3.通过静态方法Thread.interrupted()来获取中断状态,并且清除中断状态(当然获取的是清除之前的值),也就是说连续两次调用此方法,第二次一定会返回false,当然也有例外,具体看文档。 通常可以通过如下示例代码来控 ...
java.lang.ClassNotFoundException  This exception indicates that the class was not found on the classpath. This indicates that we were trying to load the class definition, and the class did not exist on the classpath. 这个异常说明你要load的class文件不在classpath   java.lang.NoClassDefFoundError这个error并不是说明这个c ...

http 浏览器缓存

    博客分类:
  • web
以tomcat为例,浏览器和tomcat之间通过如下几个head来控制是否从服务器端获取资源文件还是之间从浏览器cache中去取 Last-Modified/If-Modified-Since,ETag/If-None-Match 下面通过实验的方式直观的看这几个head是如何工作的,首先创建一个demo项目,然后创建一个html文件和一个js文件用来测试(1.html引用1.js) 下面是第一次访问的截图,可以看到1.html和1.js都返回了200,因为这是第一次访问     然后看下1.js的http的head信息如下图
今天来总结一下String在jvm内存中的一些分配及其一些优化,包括最新的java8 update20才加入的deduplication特性,还有尚未发布的java 9中的compact特性   jvm中对象存在heap中,还有一块叫做String pool 的地方存放指向heap中字符串对象的指针 String s1 = "hello java"; String s2 = "hello java"; System.out.println(s1 == s2); //true 说明s1和s2指向同一块内存地址 下面解释s1和s2的分配过程 ...

数据库隔离级别

    博客分类:
  • db
ANSI/ISO SQL定义的标准隔离级别有四种,从高到底依次为:可序列化(Serializable)、可重复读(Repeatable reads)、提交读(Read committed)、未提交读(Read uncommitted)。   如果处理不好就会产生脏读、不可重复读或者幻读等读现象。   数据 ...
在java中,死锁可以很容易用如下代码来模拟     package jdk8; public class Deadlock { public static void main (String args[]){ final Object objA = new Object(); final Object objB = new Object(); new Thread() { public void run ...
<!DOCTYPE html><html>  <head>    <meta charset="UTF-8" />    <title>Hello Bind!</title>  </head>  <body>    <div id="example"></div>    <script type="text/javascript">      this.x = 9;         var module ...

activemq queue搭建

    博客分类:
  • jms
其他都一样,只记录不一样的地方   context.xml中jndi的部分,   <Resource name="jms/queue/MyQueue"        auth="Container"        type="org.apache.activemq.command.ActiveMQQueue"        factory="org.apache.activemq.jndi.JNDIReferenceFactory"        physicalName="MY.TEST.F ...

activemq topic 搭建

    博客分类:
  • jms
最近需要用到activemq的topic发布订阅功能 activemq可以到官网下载,下载完成后启动很简单,bin/activemq start 到时候可以访问管理控制台,密码是admin/admin, http://192.168.91.128:8161/admin/topics.jsp,     128是我的部署activemq的ip地址,用的是redhat6.4   mq broker搭建好之后,我们首先需要开发publish程序,这里我们通过tomcat的jndi来完成, 新建一个web项目,然后META-INF里面创建context.xml,内容如下,   < ...
1. 需要准备的环境, Apache httpd server, tomcat7, mod_cluster的动态库(放在httpd里面),mod_cluster的jar包(放在tomcat里面) jboss为了大家方便,提供了整合的一个包,包含了httpd和mod_cluster的动态库so,可以在官网下载,文件名大概这 ...
1. 首先在两台机器安装好tomcat7, 不需要任何配置,分别启动他们在8080端口      ip分别为10.214.49.65和10.214.49.83      在webapp下面分别部署同样的项目,比如webapp/ademo/index.html 2. 在第三台机器安装好apache httpd server,可以通过源码或者rehdat的yum install安装     安装好后将下面这段配置添加到httpd.conf的最后 <Proxy balancer://mycluster> # Define back-end servers: ...

JVM GC Root对象

    博客分类:
  • jvm
JVM对那些没有根引用的对象进行来及回收,也就是无法从根对象中追述的对象。 JVM垃圾回收的根对象的范围有以下几种: 1、栈中引用的对象,引用是在栈帧中的本地变量表中的,真正的对象在堆中 2、方法区perm中的类静态属性引用的对象,以及常量引用的对象 3、本地方法栈中JNI(Native方法)的引用的对象   参考文献: http://javabook.compuware.com/content/memory/how-garbage-collection-works.aspx
package com.java7developer.chapter2; import java.nio.*; import java.nio.channels.*; import java.nio.file.*; import java.io.IOException; public class Nio2ReadLargeLogFile implements CompletionHandler<Integer, AsynchronousFileChannel> { // need to keep track of the next ...
service:jmx:rmi:///jndi/rmi://" + instance + ":" + port + "/jmxrmi

maven管理web项目

可以参考http://www.cnblogs.com/zhaoyang/archive/2012/01/07/2315455.html   http://mvnrepository.com/可以找到最有的开源依赖包 这几个截图可以参考:         最后进入项目目录 D:\work\eclipseworkspace\mvnwebapp>mvn package打包就可以了  
Global site tag (gtag.js) - Google Analytics