Java语言常见问题
文章平均质量分 52
wangshuang1631
雄关漫道真如铁,而今迈步从头越
展开
-
Java中Map和List组合使用的例子
使用Java很方便的一条就是Java封装了很多方便使用的Map和List,这是我在开发过程中遇到的问题,通过传入的字符串封装成List>格式,然后进行想要的操作,奉上代码!/* 输入参数: * [{"index":"SB001","value":"0.380658"},{"indexNo":"SB002","value":"19.801300"}, * {"index":"SB003"原创 2016-08-10 15:11:34 · 18341 阅读 · 0 评论 -
Java线程状态与方法关系
调用与线程有关的方法是造成线程状态改变的主要原因,使用Java多线程技术,其中线程状态和方法的关系如下图所示:原创 2016-12-15 14:31:13 · 1260 阅读 · 0 评论 -
关于IllegalMonitorStateException异常的解释
首先看一下官方文档的解释:/** * Thrown to indicate that a thread has attempted to wait on an * object's monitor or to notify other threads waiting on an object's * monitor without owning the specified monitor.原创 2016-12-22 15:41:47 · 56392 阅读 · 10 评论 -
try-catch-finally的执行顺序(有return的情况)
不管是否抛出异常,finally块中代码都会执行;当try和catch中有return时,finally仍然会执行;finally是在return表达式运算后执行的,注意此时并没有返回return的值,而是先把要返回的值保存起来,在finally中代码执行结束之后返回。所以函数返回值是在finally执行前确定的;finally中最好不要包含return,否则程序会提前退出,返回值不是try或原创 2017-01-03 14:16:24 · 1008 阅读 · 0 评论 -
常用Java程序片段
1. 字符串有整型的相互转换//integer to numeric stringString a = String.valueOf(2); //numeric string to an int int i = Integer.parseInt(a);2.向文件末尾添加内容BufferedWriter out = null; try { out = new Buffere原创 2016-12-24 14:22:38 · 789 阅读 · 0 评论 -
JVM架构解析
每个Java开发人员都知道字节码经由JRE(Java运行时环境)执行。但他们或许不知道JRE其实是由Java虚拟机(JVM)实现,JVM分析字节码,解释并执行它。作为开发人员,了解JVM的架构是非常重要的,因为它使我们能够编写出更高效的代码。本文中,我们将深入了解Java中的JVM架构和JVM的各个组件。JVM虚拟机是物理机的软件实现。Java的设计理念是WORA(Write Once Run An原创 2017-01-01 13:25:47 · 790 阅读 · 0 评论 -
ArrayList<Object> 转换为Map<Integer, ArrayList<String>>
弄了两三个小时,终于解决了。 实现功能: Object对象包括两变量,id和name 将ArrayList中的id转变为Map中的key值,将与id对应的name放入Map的ArrayList中 使用的方法:遍历Map,使用for (Map.Entry<Integer, ArrayList<String>> entry : nodeMap.entrySet())需要注意的地方: 最后将li原创 2017-03-23 20:46:31 · 7906 阅读 · 2 评论 -
UUID解析与使用
什么是UUID?UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符。UUID具有以下涵义:经由一定的算法机器生成 为了保证UUID的唯一性,规范定义了包括网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素,以及从这些元素生成UUID的算法。UUID的复杂特性在保证了其唯一性的原创 2017-04-05 17:22:02 · 8546 阅读 · 0 评论 -
Java数据封装类
项目中用到,比较好用!! 用户前端与后台的交互数据,这个封装类中包含分页、数据、错误码、状态码等信息!! 亲测好用哦!一个类DataWrapperpublic class DataWrapper<T>{ private CallStatusEnum callStatus; private ErrorCodeEnum errorCode; private T data;原创 2017-07-27 17:21:45 · 2393 阅读 · 0 评论 -
Java集合类Collections常用方法总结
public class CollectionsTest { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(34); list.add(55); list.add(56);原创 2016-11-17 15:33:11 · 8844 阅读 · 0 评论 -
Java中byte[]比较----字节数组比较
方法一:使用==比较的是两个字节数组是否为同一个字节数组,此处不是比较两个字节数组的内容是否相同。方法二:使用equals方法比较,该方法也是比较是两个字节数组是否为同一个字节数组,即equals也不是比较内容的。方法三:如果是比较字节数组内容是否相等,使用Arrays.equals(a,b)方法比较,返回值为true或false。最后一点:使用HashMap的键类型时原创 2016-10-11 21:00:42 · 35944 阅读 · 0 评论 -
Java重载小问题
这几天在看《Effective Java》这本书,在第41条--慎用重载这一章中发现一个平时没注意的问题。先看例子:public static void main(String[] args) { Set set = new TreeSet(); List list = new ArrayList(); for(int i=0;i<10;i++) {原创 2016-09-06 10:38:21 · 2046 阅读 · 0 评论 -
Java字符串连接的性能问题
Java中使用+作为字符串连接符,它是把多个字符串合并成一个字符串的方便途径。对于单独一行的输出、或者较小的大小固定对象,使用连接符方便且合适。但是对于大规模的场景,字符串连接符变得有些不合时宜。以连接N个字符串为列,重复的使用字符串连接符需要N的平方的时间量,最主要的原因是String类是不可变类导致的,即当连接两个字符串时,它们的内容都要存在一次拷贝。每一次连接,原有的两个字符串对象都不变原创 2016-09-07 09:57:53 · 2535 阅读 · 0 评论 -
Java加密算法---sun.misc.BASE64Decoder与sun.misc.BASE64Encoder
Base64算法介绍:Base64是网络上最常见的用于传输字节代码的编码方式之一,经常用在HTTP传递较长的标识信息情况下。例如邮件、http加密、截取http信息。Base64算法详解:Base64编码把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。例如:11010101 11000101 00110011原创 2016-09-20 15:52:40 · 7838 阅读 · 0 评论 -
Java加密算法---MD5
MD5算法介绍:MD5即Message-Digest Algorithm 5(信息摘要算法5),用于确保信息传输完整一致。MD5的主要作用是将数据量巨大的信息用数字签名软件签署私人密钥前被"压缩"成一种保密的格式,也就是说把一个任意长度的字节串变换成一定长的十六进制数字串。MD5算法详解:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后原创 2016-09-20 16:46:24 · 2055 阅读 · 0 评论 -
Java加密算法---SHA
SHA算法介绍:SHA即Secure Hash Algorithm(安全哈希算法),用于数字签名标准(DSS)里面定义的数字签名算法(DSA)。SHA是数字签名等密码学应用中重要的工具,被广泛地应用于电子商务等信息安全领域。虽然,SHA与MD5通过碰撞法都被破解了, 但是SHA仍然是公认的安全加密算法,较之MD5更为安全。 SHA算法详解:SHA算法是接收一段明文,然后以一种不可逆的方原创 2016-09-20 17:09:05 · 2023 阅读 · 0 评论 -
Java加密算法---HMAC
HMAC算法介绍:HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code),HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。HMAC算法详解:HMAC使用公开函数和密钥产生一个固定长度的值作为认证标识,用这个标识鉴别消息的完整性。使用一个密钥生成一个固定大小的小数据块,即MAC,并将其加入到消息中原创 2016-09-20 17:53:42 · 7188 阅读 · 2 评论 -
fastjson与Map、List结合使用
这个例子是我昨天开发时遇到的,主要的思路是:1,、前端给我传一个字符串,这个字符串包含id和name两个属性;2、我将String装换为JSON字符串,并且去除id;3、根据取出的id到数据库中取数据,取出的字段为id、name、address;4、匹配数据库中取出的数据,原则为:若数据库中取到该id,该条数据不动;若数据库中没有取到该id所对应的的数据,用原来传来的id对于的值。原创 2016-09-08 11:10:10 · 4827 阅读 · 0 评论 -
Java加密算法---3DES
import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;public class DES3 { private static final String Algorithm = "DESede"; // 定义原创 2016-09-21 17:39:50 · 1851 阅读 · 0 评论 -
Java判断String类型变量是否可以转换数字类型
正则表达式首先要import java.util.regex.Pattern 和 java.util.regex.Matcherpublic boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*"); Matcher isNum = pattern.matcher(原创 2017-08-07 10:26:16 · 15158 阅读 · 0 评论