![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA技术
文章平均质量分 57
yht520100
天行健,君子以自强不息;
地势坤,君子以厚德载物。
展开
-
Java Map遍历速度最优解
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Objec转载 2012-09-25 10:53:12 · 469 阅读 · 0 评论 -
一、简单的http抓包(微信公众网页登录模拟)
一、准备工具:系统:XP浏览器:IE8抓包工具:HttpWatch(它可以查看url请求的数据包)二、抓包思路:浏览器上的任何获取数据的方式都符合http协议的请求,只要发送符合要求的数据就可以模拟任何操作,所以抓包重点就要找出服务器需要的数据,例如:模拟登录的话,就是找出那个是用户字段,密码字段,验证码字段,获取有需要的Cookie字段等信息,话不多说,下面演示一个列原创 2013-11-20 20:59:24 · 51774 阅读 · 4 评论 -
Java#HttpClien详解
目录:(1)HttpClient简介(2)HttpClient功能介绍(3)HttpClient基本功能的使用(4)HttpClient使用过程中常见问题(5)HttpClient日志配置(6)HttpClient处理关闭问题(7)处理代理服务器1.HttpClient简介HttpClient 是 Apache Jakarta Common 下的子项目,可以用来转载 2013-10-03 10:05:57 · 2367 阅读 · 1 评论 -
使用ConcurrentHashMap需要知道的细节
ConcurrentHashMap的简要总结:1、public V get(Object key)不涉及到锁,也就是说获得对象时没有使用锁;2、put、remove方法要使用锁,但并不一定有锁争用,原因在于ConcurrentHashMap将缓存的变量分到多个Segment,每个Segment上有一个锁,只要多个线程访问的不是一个Segment就没有锁争用,就没有堵塞,各线程用各自的锁原创 2013-07-21 18:14:15 · 9579 阅读 · 0 评论 -
Class.getResource()的路径问题
参考文章:http://wenku.baidu.com/view/af298cea102de2bd96058826.htmlClassLoader提供了两个方法用于从装载的类路径中取得资源: public URL getResource(String name); public InputStream getResourceAsStream(String name);原创 2013-06-16 12:34:49 · 827 阅读 · 0 评论 -
ThreadLocal-分析-总结
转载至:http://www.iteye.com/topic/103804首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过Thr转载 2013-06-16 11:21:16 · 499 阅读 · 0 评论 -
java和unicode
故事是这样的,那天和同事讨论上传txt文件,如何能防止文件乱码,其间引出了如下问题: 1.如何防止上传文件乱码(无论任何语言). 2.用byte array&utf-8构造string,java如何判断几个byte一个中文字符. 3.utf-8和unicode的区别. 4.一个utf-8 string有几个char,几个byte? 随着这些问题的解决,对java和uni转载 2013-02-27 11:43:46 · 639 阅读 · 0 评论 -
java 垃圾回收总结
java与C,c++有很大的不同就是java语言开发者不需要关注内存信息,不会显式的直接操作内存,而是通过jvm虚拟机来实现。java虚拟机运行的时候内存分配图如下图: jvm虚拟机栈:一个是线程独有的,每次启动一个线程,就创建一个jvm虚拟机栈,线程退出的时候就销毁。这里面主要保存线程本地变量名和局部变量值。本地方法栈: 调用本地jni方法的时候而创建的。这里分配的jvm之外转载 2013-01-17 18:57:57 · 515 阅读 · 0 评论 -
Java断点续传(简单实现)
public class BreakPointDownLoad { private int bufferSize = 32; public void URLLoad(String sourceUrl, String fileName) { InputStream input = null; RandomAccessFile access = null; try { // 获原创 2013-01-17 22:25:53 · 531 阅读 · 0 评论 -
Java多线程下载文件
public class DownLoad { private int threadSize = 3; public void URLLoad(String source, String fileName) { RandomAccessFile access = null; try { // 打开连接,获取内容长度,计算每个线程下载长度 URL url = new URL原创 2013-01-17 21:48:13 · 394 阅读 · 0 评论 -
java中volatile关键字的含义
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized转载 2013-01-17 14:02:59 · 761 阅读 · 0 评论 -
java获取中文拼音首字母工具类
package com.sw.documentary.common.utils;public class GB2Alpha { //字母Z使用了两个标签,这里有27个值 //i, u, v都不做声母, 跟随前面的字母 private char[] chartable = { '啊', '芭', '擦', '搭',转载 2013-01-23 22:20:22 · 870 阅读 · 0 评论 -
Java简单实现MD5加密
public class CiferUtil { private static final char[] HEX_0X = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; public static String ciferByMD5(final String sou原创 2013-01-07 19:50:45 · 500 阅读 · 0 评论 -
java程序性能优化
一、避免在循环条件中使用复杂表达式 (转载来自chinaifne的java程序性能优化)在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。 例子: import java.util.vector;class cel { void method (vector vector) { f转载 2012-12-24 16:41:32 · 557 阅读 · 0 评论 -
Java Timer类和TimerTask类的定时使用
package com.text;import java.text.ParseException;import java.util.Calendar;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class Text { private Timer timer = ne原创 2012-10-15 20:16:57 · 542 阅读 · 0 评论 -
从ConcurrentHashMap 安全Map说起
转载自:http://blog.sina.com.cn/s/blog_7227719a0100lpj0.html在多线程共享一个Map时,一般使用的hashMap因为其非线程安全属性,会因为线程的竞争性而出现访问异常。例如当一个线程get一个元素的时候,另一个线程恰好删除了该元素。则会出现访问异常。而jdk1.0是提供过安全MAP的实现Hashtable类,这个类用synchronized转载 2014-03-16 15:22:17 · 569 阅读 · 0 评论