java
LINPE
这个作者很懒,什么都没留下…
展开
-
在Java中如何遍历Map对象
在Java中如何遍历Map对象How to Iterate Over a Map in Java在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等) 方法一 在for-ea转载 2016-06-07 19:23:56 · 321 阅读 · 0 评论 -
HashMap实现原理及源码分析
哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。目录 一、什么是哈希表转载 2018-01-09 15:19:39 · 257 阅读 · 0 评论 -
java如何实现webservice中wsdlLocation访问地址的可配置化
背景:项目中调用了别的系统的webservice接口,调用成功之后发现wsdlLocation的地址是写死的,不方便修改,所以需要实现地址,包括用户名密码的可配置。项目的框架是Spring,调用webservice使用的是CXF。实现可配置步骤:step1:在spring的配置文件中加入如下配置[java] view plain copy<!-- @value 配置资源文件 --> ...转载 2018-02-27 10:46:41 · 3982 阅读 · 0 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。以下是本文目录大纲:一.CountDownLatch用法二.CyclicBarrier用法三.Semaphore用法一.CountDownLatch用法CountDownLatch类位于java.util....转载 2018-05-11 18:19:12 · 131 阅读 · 0 评论 -
java使用正则表达式获取字符串中的所有英文单词或数字
偶然发现网上贴出的使用正则表达式获取字符串中的所有英文单词或数字的方法,很实用,就摘下来了import java.util.regex.Pattern; import java.util.regex.Matcher; public class Test{ public static void main(String[] args){ String str="SUN...转载 2018-05-22 16:51:13 · 11006 阅读 · 0 评论 -
Java 泛型,你了解类型擦除吗?
泛型,一个孤独的守门者。大家可能会有疑问,我为什么叫做泛型是一个守门者。这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇。泛型是 Java 中一个很小巧的概念,但同时也是一个很容易让人迷惑的知识点,它让人迷惑的地方在于它的许多表现有点违反直觉。文章开始的地方,先给大家奉上一道经典的测试题。List<String> l1 = new ArrayList...转载 2018-06-20 11:32:36 · 193 阅读 · 0 评论 -
Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)
Java并发编程系列:Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理Java并发编程:Synchronized底层优化(轻量级锁、偏向锁)Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)Java 并发编程:volatile的使用及其原理一、重量级锁 上篇文章中向大家介绍了Synchronized的用法及其实现的原理...转载 2018-07-12 15:26:53 · 238 阅读 · 0 评论 -
java 中一个char包含几个字节
背景 char包含几个字节可能记得在上学的时候书上写的是2个字节,一直没有深究,今天我们来探究一下到底一个char多少个字节?Char char在设计之初的时候被用来存储字符,可是世界上有那么多字符,如果有1个字节,那么就意味着只能存储256中,显然不合适,而如果有两个字节,那么就可以存储65536种。这个数量符合大多数国家的语言字符的个数。于是Java团队默认使用unicode作...转载 2019-04-11 17:51:57 · 4647 阅读 · 0 评论 -
Java中终止(销毁)线程的方法
结束线程有以下三种方法:(1)设置退出标志,使线程正常退出,也就是当run()方法完成后线程终止(2)使用interrupt()方法中断线程(3)使用stop方法强行终止线程(不推荐使用,Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 这些终止线程运行的方法已经被废弃,使用它们是...转载 2019-04-28 10:36:54 · 3609 阅读 · 0 评论 -
分析java线程占用cpu或者内存高的代码
分析java线程占用cpu或者内存高的代码1、通过top查看占用cpu或者内存高的进程截图如下【备注输入大写P以cpu从大到小排序,大写M以内存大小排序】2、通过对应的cpu找到PID也就是进程对应的pid,然后找到java进程106854这个进程id3、通过命令top -Hp PID 例如top -Hp 106854就可以列出该进程下的所有线程id4、通过输出大写的P查看线程占...转载 2019-04-24 14:38:17 · 375 阅读 · 0 评论 -
Java注解
原文链接: http://swiftlet.net/archives/1906第一节:注解的作用Annotation(注解)是JDK5.0及以后版本引入的。它的作用是修饰编程元素。什么是编程元素呢?例如:包、类、构造方法、方法、成员变量等。第二节:注解的作者注解是JDK 5.0推出来的,这部分JDK源码的作者是:Joshua Bloch,这是一个技术大牛。C转载 2017-06-08 13:36:30 · 284 阅读 · 0 评论 -
java设计模式
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真转载 2017-04-24 11:14:37 · 270 阅读 · 0 评论 -
从JAVA多线程理解到集群分布式和网络设计的浅析
对于JAVA多线程的应用非常广泛,现在的系统没有多线程几乎什么也做不了,很多时候我们在何种场合如何应用多线程成为一种首先需要选择的问题,另外关于java多线程的知识也是非常的多,本文中先介绍和说明一些常用的,在后续文章中如果有必要再说明更加复杂的吧,本文主要说明多线程的一下几个内容:1、在应用开发中什么时候选择多线程?2、多线程应该注意些什么?3、状态转换控制,如何解决死锁转载 2017-05-24 17:08:24 · 537 阅读 · 0 评论 -
JSON详细学习之Gson in JAVA
需要依赖的jar包: gson-2.2.4.jar这里我也用到了前面介绍JSONObject时创建的model类,直接看代码吧package com.peter.gson.test;import java.lang.reflect.Type;import java.util.ArrayList;import java.util.Date;import java.util.Has原创 2016-06-24 17:11:30 · 937 阅读 · 0 评论 -
List合并具有相同属性的对象
业务背景:一个list集合了若干个student对象,并且student对象具有name和money属性,此时我们需要合并具有相同name属性的student的money.Student类的代码:public class Student { private String name; private int money; public String getName() { retu原创 2016-06-16 20:00:46 · 6539 阅读 · 1 评论 -
JSON详细学习之JSONObject in JAVA
需要依赖的jar包: commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar首先简单地看一下JSONObject,JSONArray对象的创建以及Json字符串的解析:package com.peter原创 2016-06-22 19:30:24 · 6958 阅读 · 4 评论 -
JSON详细学习之JackSon in JAVA
需要依赖的jar包: jackson-annotations-2.2.1.jar jackson-core-2.2.1.jar jackson-core-asl-1.8.8.jar jackson-databind-2.2.1.jar jackson-mapper-asl-1.8.8.jar 同样的,我们首先看一下JackSon对Json字符串的创建以及解析原创 2016-06-23 19:07:07 · 946 阅读 · 1 评论 -
java基础学习之持有对象(容器)
通常,程序总是根据运行时才知道的某些条件去创建新对象。在此之前,不会知道所需对象的数量,甚至不知道确切的类型。为解决这个普遍的编程问题,需要在任意时刻和任意位置创建任意数量的对象。大多数语言都提供某种方法来解决这个基本问题。Java有多种方式保存对象(应该说是对象的引用)。例如数组,它是编译器支持的类型。数组是保存一组对象的最有效的方式,如果你想保存一组基本类型数据,也推荐使用这种方式。但是数原创 2016-08-04 18:51:08 · 893 阅读 · 3 评论 -
JAVA 堆栈 堆 方法区 静态区 final static 内存分配 详解
Java栈与堆堆:顺序随意栈:后进先出(Last-in/First-Out). Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在转载 2017-02-27 14:27:56 · 982 阅读 · 1 评论 -
【Java】Java集合框架源码和数据结构简要分析——List
文章出处: http://blog.csdn.net/reliveIT/article/details/45875349#t0目录(?)[+]前言 之前一直把集合框架分成Collection和Map来对待,主要是基于储存内容是单列和双列,实际上这样来区分不太正确,set实际上是双列的结构。 现在回顾集合框架,看到很多当转载 2017-03-22 16:11:38 · 345 阅读 · 0 评论 -
Java开发代码性能优化总结
代码优化的目标:减小代码体积提高整个系统的运行效率 1、尽量指定类,方法的final修饰符 带有final修饰的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的.为类指定final修饰符可以让类不可以被继承,为方法指定final可以让方法不可以被重写。如果指转载 2017-05-04 09:32:29 · 351 阅读 · 0 评论 -
线程池的原理以及Java的线程池框架
什么是线程池?提供一组线程资源用来复用线程资源的一个池子为什么要用线程池?线程的资源是有限的,当处理一组业务的时候,我们需要不断的创建和销毁线程,大多数情况下,我们需要反复的进行大量的创建和销毁工作,这个动作对于服务器而言,也是很浪费的一种情况,这时候我们可以利用线程池来复用这一部分已经创建过的线程资源,避免不断的创建和销毁的动作。线程池的原理创建好转载 2017-05-04 10:14:33 · 332 阅读 · 0 评论 -
Java:前程似锦的 NIO 2.0
Java 之所以能够霸占编程语言的榜首,其强大、丰富的类库功不可没,几乎所有的编程问题都能在其中找到解决方案。但在早期的版本当中,输入输出(I/O)流并不那么令开发者感到愉快:1)JDK 1.4 之前的 I/O 没有缓冲区的概念、不支持正则表达式、支持的字符集编码有限等等;2)JDK 1.4 的时候引入了非阻塞 I/O,也就是 NIO 1.0,但遍历目录很困难,不支持文件系统的非阻塞操作等等...转载 2019-07-25 18:24:11 · 239 阅读 · 0 评论