`
liudaoru
  • 浏览: 1559225 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java知识细点

    博客分类:
  • java
阅读更多

 

  1. 通过Character.isDigit(c)的方式判断一个字符是否是数字,除此之外还是其他的方法;
  2. System.arraycopy可以高效的拷贝数组(e.g. System.arraycopy(arr1, 0, arr2,0,arr1.length );),类似的还有Arrays.sort;
  3. 比较好的单例方式:private static *** instance = new ***();
  4. md5散列方法:MessageDigest md = MessageDigest.getInstance("MD5");(java.security.);md.reset();md.update(arr);md.digest(out, start, len);
  5. 获取操作系统信息:System.getProperty("os.name").toLowerCase(Locale.US);

 

 

分享到:
评论
11 楼 liudaoru 2009-08-18  
用来格式化字符串:
MessageFormat.format
10 楼 liudaoru 2008-11-05  
对map做同步处理:
private Map<String, Question> model = Collections.synchronizedMap(new HashMap<String, Question>());
9 楼 liudaoru 2008-10-21  
org.apache.commons.collections.map.LRUMap
LRU存储

http://www.blogjava.net/zJun/archive/2006/07/31/61015.html

使用过开源缓存包(如:EHCache)都知道,缓存策略中主要分为FIFO,LRU,LFU等几种。而Jakarta Commons中提供的 org.apache.commons.collections.map.LRUMap 可用来保存最近使用的几条记录,提供了LRU(Least Recently Used)缓存策略的实现。
8 楼 liudaoru 2008-10-17  
Java 理论与实践: 并发集合类
From: http://www.ibm.com/developerworks/cn/java/j-jtp07233/

在Java类库中出现的第一个关联的集合类是 Hashtable ,它是JDK 1.0的一部分。 Hashtable 提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的―― Hashtable 的所有方法都是同步的。 此时,无竞争的同步会导致可观的性能代价。 Hashtable 的后继者 HashMap 是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的基类和一个同步的包装器 Collections.synchronizedMap ,解决了线程安全性问题。 通过将基本的功能从线程安全性中分离开来, Collections.synchronizedMap 允许需要同步的用户可以拥有同步,而不需要同步的用户则不必为同步付出代价。
Hashtable 和 synchronizedMap 所采取的获得同步的简单方法(同步 Hashtable 中或者同步的 Map 包装器对象中的每个方法)有两个主要的不足。首先,这种方法对于可伸缩性是一种障碍,因为一次只能有一个线程可以访问hash表。 同时,这样仍不足以提供真正的线程安全性,许多公用的混合操作仍然需要额外的同步。虽然诸如 get() 和 put() 之类的简单操作可以在不需要额外同步的情况下安全地完成,但还是有一些公用的操作序列 ,例如迭代或者put-if-absent(空则放入),需要外部的同步,以避免数据争用。

。。。
7 楼 liudaoru 2008-10-17  
获取数组的hashCode:Arrays.hashCode(arr);
6 楼 liudaoru 2008-10-17  
5 楼 liudaoru 2008-10-17  
java.util.concurrent.locks
From: http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/util/concurrent/locks/ReadWriteLock.html
接口 ReadWriteLock

所有已知实现类:
ReentrantReadWriteLock
public interface ReadWriteLock
ReadWriteLock 维护了一对相关的锁定,一个用于只读操作,另一个用于写入操作。只要没有 writer,读取锁定可以由多个 reader 线程同时保持。写如锁定是独占的。

与互斥锁定相比,读-写锁定允许对共享数据进行更高级别的并发访问。虽然一次只有一个线程(writer 线程)可以修改共享数据,但在许多情况下,任何数量的线程可以同时读取共享数据(reader 线程),读-写锁定利用了这一点。从理论上讲,与互斥锁定相比,使用读-写锁定所允许的并发性增强将带来更大的性能提高。在实践中,只有在多处理器上并且只在访问模式适用于共享数据时,才能完全实现并发性增强。

与互斥锁定相比,使用读-写锁定能否提升性能则取决于读写操作期间读取数据相对于修改数据的频率,以及数据的争用——即在同一时间试图对该数据执行读取或写入操作的线程数。例如,某个最初用数据填充并且之后不经常对其进行修改的 collection,因为经常对其进行搜索(比如搜索某种目录),所以这样的 collection 是使用读-写锁定的理想候选者。但是,如果数据更新变得频繁,数据在大部分时间都被独占锁定,这时,就算存在并发性增强,也是微不足道的。更进一步地说,如果读取操作所用时间太短,则读-写锁定实现(它本身就比互斥锁定复杂)的开销将成为主要的执行成本,在许多读-写锁定实现仍然通过一小段代码将所有线程序列化时更是如此。最终,只有通过分析和测量,才能确定应用程序是否适合使用读-写锁定。

尽管读-写锁定的基本操作是直截了当的,但实现仍然必须作出许多决策,这些决策可能会影响给定应用程序中读-写锁定的效果。这些策略的例子包括:

在 writer 释放写入锁定时,reader 和 writer 都处于等待状态,在这时要确定是授予读取锁定还是授予写入锁定。Writer 优先比较普遍,因为预期写入所需的时间较短并且不那么频繁。Reader 优先不太普遍,因为如果 reader 正如预期的那样频繁和持久,那么它将导致对于写入操作来说较长的时延。公平或者“按次序”实现也是有可能的。
在 reader 处于活动状态而 writer 处于等待状态时,确定是否向请求读取锁定的 reader 授予读取锁定。Reader 优先会无限期地延迟 writer,而 writer 优先会减少可能的并发。
确定是否重新进入锁定:可以使用带有写入锁定的线程重新获取它吗?可以在保持写入锁定的同时获取读取锁定吗?可以重新进入写入锁定本身吗?
可以将写入锁定在不允许其他 writer 干涉的情况下降级为读取锁定吗?可以优先于其他等待的 reader 或 writer 将读取锁定升级为写入锁定吗?
当评估给定实现是否适合您的应用程序时,应该考虑所有这些情况。
4 楼 liudaoru 2008-10-16  
排序:java.util.Collections.sort
3 楼 liudaoru 2008-10-15  
System.nanoTime
2 楼 liudaoru 2008-10-10  
System.getProperty
http://www.blogjava.net/javafield/archive/2008/01/05/172952.html

此外还有System.setProperty("test.abc", "test text");
System.loadLibrary("dll name")用来调用jni生成的dll。

dll文件可以放在四个位置  
  当前目录  
  path指定的目录  
  系统目录  
  windows目录  
   
  在linux下也要把你的动态库  
  .o文件放在能找到的目录下  
  当前目录或PATH指定目录  
   
  参数只要简单的写成test  
  System.loadLibrary("test")  
  如果是在windows环境就会去装载test.dll  
  如果是linux下环境就会去装载test.o
1 楼 liudaoru 2008-10-10  
cmd模式下按行读入内容并处理输出:
try {
	BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
	do {
		String line = reader.readLine();
		if (line == null || line.length() == 0) {
			break;
		}
		System.out.println("> " + line);
	} while (true);
} catch (IOException e) {
	e.printStackTrace();
}

相关推荐

    03900门窗木工丙级工作项目01识图与制细点划线细链线.pdf

    03900门窗木工丙级工作项目01识图与制细点划线细链线.pdf

    机械制图基础知识填空

    机械制图基础知识 1. 纸幅面按尺寸大小可分为5种,图纸幅面代号分别为A0、A1、A2、A3、A4。图框右下角必须有一标题栏,标题栏中的文字方向为与看图方向一致。 2. 图线的种类有粗实线、细实线、波浪线、双折线、虚线...

    2021届高考作文写作指津:材料新鲜构思新巧(附:精评细点).pdf

    2021届高考作文写作指津:材料新鲜构思新巧(附:精评细点).pdf

    西安立辰远景JAVA笔试题目-LiDAR:激光雷达数据处理

    西安立辰远景JAVA笔试题目激光雷达 该代码与LiDAR数据处理相关,包括但不限于道路/障碍物分割、粗/细点集配准和2D道路形状分析。 如果您有任何问题,请随时与我联系。 王迪 视觉认知计算与智能汽车实验室 人工智能与...

    透过细点识读玄机- 工业数字相机系统在工厂内部物流系统中的应用

    许多客户都要求使用二维数据矩阵代码,而对于生产商来说,使用这种代码对包装商品进行识别也更为方便。 生产自动化在食品行业的应用可谓由来已久,尤其在外包装方面,客户的要求也越来越高,这就要求制造商不断采用...

    AutoCAD机械作图标准图框-标准线型样式(高版本CAD).dwg

    2.图线的种类有粗实线、细实线、波浪线、双折线、虚线、细点划线、粗点划线、双点划线等八类 3.图样中,机件的可见轮廓线用粗实线画出,不可见轮廓线用虚线画出,尺寸线和尺寸界线用细实线画出来,对称中心线和轴线...

    AutoCAD机械作图标准图框-标准线型样式(CAD2007及以上版本可打开).dwg

    2.图线的种类有粗实线、细实线、波浪线、双折线、虚线、细点划线、粗点划线、双点划线等八类 3.图样中,机件的可见轮廓线用粗实线画出,不可见轮廓线用虚线画出,尺寸线和尺寸界线用细实线画出来,对称中心线和轴线...

    相册浏览照片放大缩小

    相册浏览;单个照片放大缩小;照片可以随意拖动,查看细点

    can总线开发步骤(周立功公司)

    一个详细的can开发步骤的文档,细点比较多,适合开发过程的使用

    网站设计技术

    完整的简述了网站设计的全过程,详细讲解,细点划分,非常适合尝试。

    rdlc报表打印

    本文详细介绍了rdlc报表的设计到打印的全过程,其中对一些细点,慢点也做了说明

    工程制图期末复习指南1

    ② 画半剖视图,不影响其他视图的完整性 ③ 半剖视图中间应画细点画线,不应画成粗实线 ④ 当对称机件的轮廓线与中心线重合时,不宜采用半剖视图表示 ⑤ 半剖视图的

    景观工程制图规范一.doc

    定位轴线用细点划线表示,其编号注在轴线端部用细实线绘制的圆内,圆的直径为8mm,圆心在定位轴线的延长线或延长线的折线上。平面图上定位轴线的编号应标注在图样的下方与左侧,横向编号用阿拉伯数字按从左至右顺序...

    鼠标压感模拟 完整C++ Win32 SDK源代码

    记得在使用绘图板的时候,那个笔啊,如果你用力划,那么屏幕上的线就会深点(粗点),如果轻划,那么屏幕上的线就会浅点(细点)。 并不是每个人都有绘图板的啊。所以今晚突发奇想,觉得用鼠标来模拟压感。 包含...

    符合国家标准工程图中两直线点画线相交算法 (2010年)

    基于国家标准,图形中心线的线型是细点画线,2条点画线相交,应是线段交接。文章提出了一种算法,该算法为任意地输入2条相交点画线4个端点的坐标,根据设定的原则,计算出点画线的线段长度,绘制2条相交在线段处的点...

    Vue数据双向绑定原理实例解析

    Vue数据双向绑定原理是通过数据劫持结合发布者-订阅者模式的方式来实现的,首先是对数据进行监听,然后当监听的属性发生变化时则告诉订阅者是否要更新,若更新就会执行对应的更新函数从而...再说细点,就是在单向绑定的

    建筑制图与CAD:曲面体投影及画法.pptx

    最左边的素线最右边的素线最前边的素线最后边的素线注意: 应用细点画线画出其对称中心线和圆柱轴线。 圆柱的画法画出圆的对称中心线和圆柱轴线的投影。画出投影为圆的视图。画出其它视图。b"(a')(c")b'c'bc(3)圆柱...

Global site tag (gtag.js) - Google Analytics