- 浏览: 166931 次
- 性别:
- 来自: 上海
最新评论
-
Mr.San:
binbinyouli 写道run(Enums.random( ...
java 枚举高级应用之状态机 -
Mr.San:
class Enums
{
private static ...
java 枚举高级应用之状态机 -
nocb:
对,Enums 没有
java 枚举高级应用之状态机 -
binbinyouli:
run(Enums.random(MONEY.getValue ...
java 枚举高级应用之状态机
文章列表
java 多线程初学(Executor控制器)
- 博客分类:
- 多线程
Executor控制器是jdk1.5之后新增的工具类。用于作为一个中介来统一管理并发任务。
1.CacheThreadPool 将为每个任务都开一个线程:
ExecutorService exec = Executors.newCachedThreadPool();
for (int i = 0; i < 2; i++) {
final int c = i;
exec.execute(new Runnable(){
public void run() {
// TODO Auto-generated method stub
...
ThreadLocal是解决线程安全问题一个很好的思路,它通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题。在很多情况下,ThreadLocal比直接使用synchronized同步机制解决线程安全问题更简单,更方便,且结果程序拥有更高的并发性。
在Java的多线程编程中,为保证多个线程对共享变量的安全访问,通常会使用synchronized来保证同一时刻只有一个线程对共享变量进行操作。但在有些情况下,synchronized不能保证多线程对共享变量的正确读写。例如类有一个类变量,该类变量会被多个类方法读写,当多线程操作该类的实例对象时,如果线程对类变量有读取、 ...
java多线程的一道面试题
- 博客分类:
- 多线程
题目如下:
子线程循环10次,然后主线程循环100次。如此往返,循环50次。
package TreaditionThread;
public class TreadtionnalThreadMian {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final Business business = new Business();
new Thread(new Runnab ...
java 多线程里的timer
- 博客分类:
- 多线程
Timer 这个类的作用就是定时启动一个线程来执行任务,一个timer也可以执行多个任务(调用schedule 或 scheduleAtFixedRate)schedule 里面第一个参数是timerTask类的实例,该类实现了Runnable接口。
第二个参数是延迟多少毫秒执行,也可以是一个Date的实例,就是具体某个时间,第三个参数就是可选的,就是每隔多久循环执行一次。scheduleAtFixedRate这个是jdk1.5之后才有的,他对执行频率更加精确,比如我设置了第三个参数是每隔4秒执行一次的,如果有一次它某些原因相隔5才秒执行了,那么再下次就是相隔3秒再执行一次,这样执行频率就比 ...
java创建线程的两种方式
- 博客分类:
- 多线程
1.Thread thread1 = new Thread(){
2. public void run(){
3. try {
4. Thread.sleep(500);
5. } catch (InterruptedException e) {
6. // TODO Auto-generated catch block
7. e.printStackTr ...
什么是流:流就是字节序列的抽象概念,能被连续读取数据的数据源和能被连续写入数据的接收端就是流。
流的分类:
从流的目标类型分类:文件流,网络流,对象流等。
从流的方向分类:输入流和输出流
从流的内容分类:字节流和字符流
从流的功能分类:节点流和包装流(也有叫措置流,处理流,过滤流的)
文件流就是基于计算机上存储的文件生成的流对象,网络流就是基于网络来传送信息的流对象,对象流也就是通过操作流的方式实现在计算机上存和读取java实体对象的一种流类型。
...
可以和流相关联的集合对象Properties
- 博客分类:
- io
最近学习流的时候看到了这个集合类可以和流一起想关联操作:
先上代码
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Properties {
/**
* @param args
*/
public stat ...
需求:
编写一个小程序,将一个目录以及其子目录下所有的txt文件中的内容合并到若干个txt当中,当第一个文本文件的内容
达到1M时,将剩余内容存储到下个文件当中,依此类推,产生的新文件名为1.txt,2.txt......
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**递归查找一个目录下所有指定文件名的文件
* @author leter
*
*/
public class FindFiles {
private List<File ...
java io学习小计(二)
- 博客分类:
- io
输出流和输入流的包装类:
DataInputStream : 通过传入一个InputStream对象实例来实现对该输入流的包装,提供了一些直接在文件中读取java基本类型数据的方法,比如readDouble() ,readInt()等等方法,需要注意的是readUT ...
计算机中所有的东西都是用数字表示的:
ASSII : 用0-127之间的数字来表示字符。
GBK2312 : 中文编码
GBK : 扩充后的GBK2312
UTF-8:双字节,可以表示全世界各地的语言
UTF-8 : 扩充后的UTF-8,可以表示一些少数民族的语言
InputStream 是所有输入流类的父类OutputStream 是所有输出流类的父类
FileInputStream 文件输入流
FileOutputStream 文件输出流
FileOutputStream out = new FileOutputStream("1.txt");
out.write("hello word!".getBytes());
out.close();
FileInputStream in = new FileInputStream("1.txt");
byte ...
1。^\d+$ //匹配非负整数(正整数 + 0)
2。^[0-9]*[1-9][0-9]*$ //匹配正整数
3。^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0)
4。^-[0-9]*[1-9][0-9]*$ //匹配负整数
5。^-?\d+$ //匹配整数
6。^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0)
7。^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮点数
8。^((-\d+(\.\d+)?) ...
基于注释配置的优点:
1,注释配置充分利用了java反射的机制来获取类的结构信息,减少了配置工作。
2,注释配置和java代码在同一文件内,因为大部分的配置在开发后也不需要更改,这样就增加了代码的内聚性,开发时不用在xml配置文件和代码之间切换,思维更加连贯,提高了开发效率。
@Autowired注释的属性省去了set方法,在实例化类的时候自动加载类型匹配的bean;
使用它要事先在spring 容器里声明
<bean class="org.springframework.beans.factory.annotation.
Aut ...
作者首先阐述了他对当今世界技术改革的看法,他认为这个社会无论科学技术如何发展,首先最需要的就是信息通信技术的支持,也就是说,虽然和其他技术相比较,信息技术发展的速度和跨越显得微乎其微,但是不管是科研还是日常的生活等等方面对人与人之间的通讯都已经到了无法剥离的状态,而且作者说本书就是一个例子,他没有把这本书直接给出版社印刷发行,而是首先放在网上让广大的网友阅读和评论,这样也就可以让别人来指出一些不足和发表更有益的意见。
这也充分突出了网络通讯交流的重要性和广义性。
其次作者也发表了对编程语言的看法,他觉得编程在大体上就是控制复杂性,但是每一种语言在设计之初或设计之中因为种种的原因都没能达到 ...
ArrayList的查询效率比较高,增删动作的效率比较差,适用于查询比较频繁,增删动作较少的元素管理的集合。
ArrayList基础object[]
LinkedList的查询效率低,但是增删效率很高。适用于增删动作的比较频繁,查询次数较少的元素管理 ...