`
TrueBrian
  • 浏览: 8900 次
社区版块
存档分类
最新评论
文章列表
一、类介绍       java.util.concurrent类CountDownLatch     public class CountDownLatch extends Object     一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。给定一个数来初始化CountDownLatch ...
String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。 String类的包含如下定义: [java]view plaincopy /**Thevalueisusedforcharacterstorage.*/
1.嵌套的输入流 DataInputStream din = new DataInputStream(new BufferedInputStream(new FileInputStream("1.dat"))); 这里 需要从一个文件中读入数据,数据是数字类型,FileInputStream 没有读入数字类型的方法,也没有缓存机制,DataInputStream没有从文件中读数据的方法, 因此可以用重重嵌套构造一个新的构造器。 2.文本操作 PrintWriter 和BufferedReader(new FileReader("2.txt&qu ...
1.使用synchronized关键字时,在方法中一个块上使用比在整个方法上使用,对象不加锁的时间更长,线程运行效率更好 持续更新。。。
每个Java对象都可以用做一个实现同步的锁,这些锁被称为内置锁或监视器锁。线程在进入同步代码块之前会自动获取锁,并且在退出同步代码块时会自动释放锁。获得内置锁的唯一途径就是进入由这个锁保护的同步代码块或方法。 当某个线程请求一个由其他线程持有的锁时,发出请求的线程就会阻塞。然而,由于内置锁是可重入的,因此如果摸个线程试图获得一个已经由它自己持有的锁,那么这个请求就会成功。“重入”意味着获取锁的操作的粒度是“线程”,而不是调用。重入的一种实现方法是,为每个锁关联一个获取计数值和一个所有者线程。当计数值为0时,这个锁就被认为是没有被任何线程所持有,当线程请求一个未被持有的锁时,JVM将记 ...
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。 t.join(); //使调用线程 t 在此之前执行完毕。 t.join(1000); //等待 t 线程,等待时间是1000毫秒 先上一段JDK中代码: Java代码 /** *Waitsatmost<code>millis</code>millisecondsforthisthreadto *die.Atimeoutof<code>0 ...
HttpSessionListener : Session创建事件发生在每次一个新的session创建的时候,类似地Session失效事件发生在每次一个Session失效的时候。 这个接口也只包含两个方法,分别对应于Session的创建和失效: # public void sessionCreated(HttpSessionEvent se); # public void sessionDestroyed(HttpSessionEvent se); 我的web应用上想知道到底有多少用户在使用? 在网站中经常需要进行在线人数的统计。过去的一般做法是结合登录 ...
代理的最大作用,就是在已知源代码的情况下,在不改变原来代码的条件下,增加自己的逻辑。 比如说控制权限,增加日志等。此例就以增加日志来说明动态代码的基本用法。 JDK的动态代码必须要基于接口,所以被代理的对象必须要实现某一个或多个接口。 1.接口 有一个动物接口,有两个方法吃和睡。很简单吧 interface Animal { void eat(); void sleep(); } 2.真实的类。即后面的被代理对象。 cat类,实现了animal接口 class Cat implements Animal { @Override public voi ...
spring AOP默认是使用AspectJ的注解, joinpoint 连接点,就是切面程序要切到原程序的哪个地方 pointcut 连接点的集合,一类连接点 aspect 切面,代表下面的程序是切面程序, advice 建议,是切面上的逻辑 在写的逻辑需要有前后顺序时,不要依赖AOP注解的前后顺序
web应用中的session和cookie机制相信大家已经再熟悉不过了,cookie是一种存在于客户端上的用于保存用户浏览数据的小文件。session存在于服务器中,可以用来区分用户和保存用户信息。session会根据客户端的请求给不同客户端分配一个唯一的sessionId,用来区分session。例如用户登录之后,给用户创建一个session,并在session中保存该用户的相关信息,即可以避免用户的id在网络上传输,又可以保证区分每一个用户。 web中实现session的机制有两种: 1.通过cookie来实现 所谓通过cookie来实现,说白了就是在创建了session之后,把s ...
使用get向服务器发送请求时,url后面有汉字会有乱码,在tomcat的server.xml中加入 useBodyEncodingForURI="true" URIEncoding="UTF-8" 可以解决乱码问题 乱码问题,根本解决之道是要保证源代码、数据库、tomcat三者的编码一致 tomcat:上面已经说了 数据库:如果是mysql,找到my.ini文件,找到其中 “default-character-..”的地方,将编码改成为utf8(如果你使用的都是utf8), 重启mysql服务。 若在linux下,在 /etc/ ...
1. get是从服务器上获取数据,post是向服务器传送数据。 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上, ...
请参考博文: http://blog.sina.com.cn/s/blog_7575ed8b01013dij.html
hibernate生成表时,有的表可以生成,有的却不可以。 原因:不能生成的表中有字段“desc”或“describe”等和hibernate关键字冲突的字段,因此不能生成,只要换个字段名就好了。
前提:导入需要的2个jar文件,jcommon-版本号.jar,jfreechart-版本号.jar。可以去官网下载:http://sourceforge.net/projects/jfreechart/files/ 注意:下载的Jfreechart版本不要太高,新版本对中文的显示会出问题,我自己后来下的是1.0.10的版本。 实例一:比较简单的application版本的饼图 package com.test.jfreechart; import org.jfree.chart.ChartFactory; import org.jfree.chart.Ch ...
Global site tag (gtag.js) - Google Analytics