Java
SaiW-n_n-
努力,踏实。
展开
-
@JsonProperty和@SerializedName对比
@JsonProperty和@SerializedName对比时间:2018-12-30本文章向大家介绍@JsonProperty和@SerializedName对比,主要包括@JsonProperty和@SerializedName对比使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。问题在日常开发中经常需要将一个json格式的字符串转...转载 2019-11-28 16:21:25 · 1496 阅读 · 0 评论 -
JAVA四种引用方式-上篇
转载自:https://www.2cto.com/kf/201403/285767.html1.引用的基本概念1.1、强引用当我们使用new 这个关键字创建对象时被创建的对象就是强引用,如Object object = new Object() 这个Object()就是一个强引用了,如果一个对象具有强引用。垃圾回收器就不会去回收有强引用的对象。如当jvm内存不足时,具备强引用的对象,虚转载 2017-10-24 10:24:19 · 446 阅读 · 0 评论 -
JAVA四种引用方式-下篇
Java中的四种引用方式的区别强引用、软引用、弱引用、虚引用的概念强引用(StrongReference)强引用就是指在程序代码之中普遍存在的,比如下面这段代码中的object和str都是强引用:12Object object = new Object();String str = "hel转载 2017-10-24 10:33:26 · 313 阅读 · 0 评论 -
java中clone的深入理解
Java中Clone的概念大家应该都很熟悉了,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的? 1. Clone和Copy 假设现在有一个User对象,User u1=new User(“U1001”,“Jason”,25),通常我们会有这样的赋值User u2=u1,这个时候只是简单了copy了一下ref转载 2017-10-12 17:01:05 · 380 阅读 · 0 评论 -
TreeSet、Comparable、Comparator、内部类、匿名类
1 package com.tn.treeSet; 2 3 public class Student { 4 private String name; 5 private int age; 6 public Student(){} 7 public Student(String name, int age) { 8 super();转载 2017-10-20 11:43:04 · 1251 阅读 · 0 评论 -
java类的访问权限
Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,默认,protected 和 public。private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。pr转载 2017-10-20 10:07:58 · 373 阅读 · 0 评论 -
Overload和Override的区别
override(重写,覆盖) 1、方法名、参数、返回值相同。 2、子类方法不能缩小父类方法的访问权限。 3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。 4、存在于父类和子类之间。 5、方法被定义为final不能被重写。 overload(重载,过载) 1、参数类型、个数、顺序至少有一个不相同。 2、不能重载只有返回值不同的方法名。 3、存在于父类和子类、同类中。 方法转载 2017-10-18 12:05:47 · 1076 阅读 · 0 评论 -
HashMap什么时候重写hashcode和equals方法,为什么需要重写
转载自:http://bdcwl.blog.163.com/blog/static/765222652009112744733937/HashSet内部是通过HashMap实现。只有使用排序的时候才使用TreeMap。否知使用HashMap。HashSet set = new HashSetset.put(new Student(1,"aa") );set.put(new转载 2017-08-23 14:26:41 · 14697 阅读 · 6 评论 -
不可重入锁/自旋锁、可重入锁
转载自:http://blog.csdn.net/soonfly/article/details/70918802锁分为可重入锁和不可重入锁。 可重入和不可重入的概念是这样的:当一个线程获得了当前实例的锁,并进入方法A,这个线程在没有释放这把锁的时候,能否再次进入方法A呢?可重入锁:可以再次进入方法A,就是说在释放锁前此线程可以再次进入方法A(方法A递归)。不可重入锁(自旋锁)转载 2017-08-23 10:54:27 · 1877 阅读 · 1 评论 -
java 异常捕捉 ( try catch finally )
前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理? finally 体遇到 return 怎么办?finally 体里有 System.exit() 方法怎么处理?当 catch 和 finally 体里同时遇上 return 怎么办?相信你在处理异常的时候不是每次都把它 throws 掉就完事了,很多时候异常是需要我们自己来转载 2017-10-25 14:24:44 · 375 阅读 · 0 评论 -
JAVA中StringUtils的使用
StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。除了构造器,StringUtils中一共有130多个方法,并且都转载 2017-10-26 11:54:23 · 1419 阅读 · 0 评论 -
HttpServletResponse输入输出流是否需要flush close
1,是否需要 close the servlet outputstream?Normally you should not close the stream. The servlet container will automatically close the stream after the servlet is finished running as part of t转载 2017-10-26 18:06:12 · 12044 阅读 · 2 评论 -
参数配置文件properties--使用spring加载和简化读取
装载自: https://blog.csdn.net/yjclsx/article/details/52671972Spring 支持在代码中使用@Value注解的方式获取properties文件中的配置值,从而大大简化了读取配置文件的代码。使用方法如下:假如有一个参数配置文件test.properties#数据库配置database.type=sqlserverjdbc...转载 2018-10-09 11:04:39 · 448 阅读 · 0 评论 -
Java 读取properties配置文件
应用场景java开发中经常将一些易变配置参数放置在xml配置文件或properties配置文件。解析xml配置文件通常使用dom或sax方式,而读取properties配置文件比较容易,直接使用java.util下的Properties类读取配置文件。读取方式基于ClassLoader读取配置文件 Properties properties = new Properties...转载 2018-10-09 10:50:30 · 320 阅读 · 0 评论 -
Java IO : 流,以及装饰器模式在其上的运用
流概述 Java中,流是一种有序的字节序列,可以有任意的长度。从应用流向目的地称为输出流,从目的地流向应用称为输入流。Java的流族谱Java的java.io包中囊括了整个流的家族,输出流和输入流的谱系如下所示:InputStream和OutputStreamInputStream和OutputStream分别是输入输出流的顶级抽象父类,只定义了一些抽象方法供子类实现。...转载 2018-07-24 00:01:34 · 275 阅读 · 0 评论 -
重复读取InputStream的方法
前言:今天工作的需要需要读取aws云上S3桶里面的PDF数据,第一步能够正常的获取PDF文件的InputStream流,然后,我为了测试使用了IOUtils.toString(is)将流System.out.println()输出后,然后再次使用获取的流,这时操作失败,具体如下:path = "s3://testpatsnapus/steven/KR/A/10/20/03/00/21/58/...转载 2018-07-23 18:32:13 · 912 阅读 · 0 评论 -
Java中abstract和interface的区别
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者之间还是...转载 2018-06-26 10:01:56 · 295 阅读 · 0 评论 -
java安全管理器SecurityManager入门
来自:http://www.cnblogs.com/yiwangzhibujian/p/6207212.html一、文章的目的 这是一篇对Java安全管理器入门的文章,目的是简单了解什么是SecurityManager,对管理器进行简单配置,解决简单问题。 比如在阅读源码的时候,发现这样的代码,想了解是做什么的:SecurityManager security = System.getSecu...转载 2018-06-26 09:51:24 · 392 阅读 · 0 评论 -
ThreadLocal详解
转载自:http://www.cnblogs.com/dreamroute/p/5034726.htmlThreadLocal翻译成中文比较准确的叫法应该是:线程局部变量。 这个玩意有什么用处,或者说为什么要有这么一个东东?先解释一下,在并发编程的时候,成员变量如果不做任何处理其实是线程不安全的,各个线程都在操作同一个变量,显然是不行的,并且我们也知道volatile这个关键字也是不能保证线程安...转载 2018-06-15 10:14:34 · 155 阅读 · 0 评论 -
jsp与servlet有什么区别?
以前,我对于这两样东西,没有想过去想它们有什么区别,因为jsp在编译完后也会成为一个servlet的.class文件。所以,它们对我个人来说基本没有什么区别。在网上看到有位网友说:“servlet是jsp的爹!”,很有趣也很实在!后来,去面试就遇到了这样的一个问题,所以,我也是在网上看了一下,才知道说出它们的区别是假,只是公司想考考你对MVC的理解!SERVLET是SUN早期推出的,其功能比较强劲...转载 2018-06-21 14:23:48 · 419 阅读 · 0 评论 -
Lock与synchronized 的区别
主要相同点:Lock能完成synchronized所实现的所有功能主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。Lock还有更强大的功能,例如,它的tryLock方法可以非阻塞方式去拿锁。1、ReentrantLock 拥有Synchr转载 2017-07-25 11:24:08 · 446 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模转载 2017-07-24 16:56:36 · 360 阅读 · 0 评论 -
Java多线程-工具篇-BlockingQueue
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个转载 2017-05-08 23:29:38 · 277 阅读 · 0 评论 -
Socket长连接和短连接
1 概念Socket:socket实际上是对TCP/IP进行的封装,我们可以使用socket套接字通过socket来传输。首先我们需要明白的一个概念就是通道,简单地说通道就是两个对端可以随时传输数据的信道。我么常说的所谓建立socket连接,也就是建立了客户端与服务器端的通道。长短连接:显而易见,长连接也就是这个socket连接一直保持连接,也就是通道一直保持通畅,两个对端转载 2017-04-15 19:32:30 · 3381 阅读 · 0 评论 -
JAVA-泛型02
转载自:https://segmentfault.com/a/1190000002646193根据《Java编程思想 (第4版)》中的描述,泛型出现的动机在于:有许多原因促成了泛型的出现,而最引人注意的一个原因,就是为了创建容器类。泛型类容器类应该算得上最具重用性的类库之一。先来看一个没有泛型的情况下的容器类如何定义:public class Contain转载 2017-03-23 15:01:58 · 342 阅读 · 0 评论 -
Java-泛型
转载自:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List转载 2017-03-23 14:08:13 · 380 阅读 · 0 评论 -
eclipse使用技巧心得分享
转载自:http://www.imooc.com/article/1009习惯了eclipse开发java程序,公司最近的项目都是idea开发的,同时android studio也是idea原型开发的,在学android开发,所以脱离eclipse转向idea看来是一个趋势了。开发工具的使用就是一个习惯的问题, 习惯了开发效率就高,不习惯工具使用问题,还得去百度。培养新习惯最终转载 2017-04-09 01:05:10 · 2715 阅读 · 1 评论 -
Java IO: 管道
原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com)Java IO中的管道为运行在同一个JVM中的两个线程提供了通信的能力。所以管道也可以作为数据源以及目标媒介。你不能利用管道与不同的JVM中的线程通信(不同的进程)。在概念上,Java的管道不同于Unix/Linux系统中的管道。在Unix/Linux中,运行在不同地址空间的转载 2017-03-22 12:17:20 · 418 阅读 · 0 评论 -
JAVA的StringBuffer类
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。 在转载 2017-03-07 21:38:58 · 347 阅读 · 0 评论 -
Java中的内部类01-什么是内部类
参考自:http://www.cnblogs.com/nerxious/archive/2013/01/24/2875649.html什么是内部类简单的说就是在一个类、接口或者方法的内部创建另一个类。这样理解的话创建内部类的方法就很明确了。内部类划分内部类的优点是:内部类可以访问外部类的私有成员变量,而不需要new外部类的对象。内部类又分为:静态内部类、匿名内部类、方法内部类、转载 2017-06-10 14:55:51 · 501 阅读 · 0 评论 -
Java中的内部类02-访问其所在方法中的final类型的局部变量
内部类对象的生命周期会超过局部变量的生命周期。 局部变量的生命周期:当该方法被调用时,该方法中的局部变量在栈中被创建,当方法调用结束时,退栈,这些局部变量全部死亡。而内部类对象生命周期与其它类一样:自创建一个局部内部类对象,系统为该对象分配内存,直到没有引用变量指向分配给该对象的内存,它才会死亡(被JVM垃圾回收)。所以完全可能出现的一种情况是:成员方法已调用结束,局部变量已死亡原创 2017-06-10 15:45:05 · 401 阅读 · 0 评论 -
Java中的内部类03-内部类的作用
转载自:http://blog.csdn.net/thinkghoster/article/details/2342602内部类的作用:1、隐藏你不想让别人知道的操作,也即封装性。2、一个内部类对象可以访问创建它的外部类对象的内容,甚至包括私有变量!内部类的功能在于,每个内部类都能独立的继承一个接口的实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有转载 2017-06-10 15:53:49 · 293 阅读 · 0 评论 -
BufferedReader和Scanner
如果想要接收任意长度的数据,而且避免乱码产生,就可以使用BufferedReader类public class BufferedReader extends Reader因为输入的数据有可能出现中文,所以,此处使用字符流完成。BufferedReader是从缓冲区之中读取内容,所有的输入的字节数据都将放在缓冲区之中。System.in本身表示的是InputStream(字节转载 2017-07-24 12:03:59 · 376 阅读 · 0 评论 -
Java中static的使用使用注意
1,static的生命周期static修饰的成员变量、成员函数的生存周期是类加载到类释放的整个期间,所以要谨慎使用。2,可见性变了可用类名直接访问,导致成员变量或者成员函数的可见性改变。3,什么时候使用?举例:private static final Pattern ipPattern = Pattern.compile("([0-9]{1,3}\\.){3}[0-9]原创 2017-07-19 17:57:55 · 407 阅读 · 0 评论 -
Java 键盘输入多种方法
一、Java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象。常用的类有BufferedReader,Scanner。实例程序:1、利用 Scanner 实现从键盘读入integer或float 型数据//import java.io.*;import java.util.*;public class InputTest{public static转载 2017-07-19 16:35:16 · 414 阅读 · 0 评论 -
final与static final的区别
class SelfCounter{ private static int counter; private int id = counter ++; public String toString(){ return "SelfCounter :" + id;转载 2017-07-19 16:31:39 · 269 阅读 · 0 评论 -
Java中static 和final的区别
final定义的变量可以看做一个常量,不能被改变; final定义的方法不能被覆盖; final定义的类不能被继承。 final static 就是再加上static的特性就可以了static 和final是没有直接关系的static 是在内存中分配一块区域,供整个类通用,所有的类的对象都享有它的共同的值static 和final的区别 一、static :转载 2017-07-19 16:24:56 · 204 阅读 · 0 评论 -
Java中的static关键字解析
static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔试面试题 若有不正之处,转载 2017-07-18 16:46:09 · 381 阅读 · 0 评论 -
Java8 Lambda表达式之比较器
在这个例子中,我将向你展示如何使用Java8的lambda表达式写的比较器排序列表。经典Comparator例子ComparatorDeveloper> byName = new ComparatorDeveloper>() { @Override public int compare(Developer o1, Developer o2) { retu转载 2017-07-18 15:26:01 · 5008 阅读 · 0 评论 -
什么时候JAVAbean
简单的例子:河边邂逅笨笨一天网上观看Data Binding的这场show的时候,发现POJO 和Javabean 这两位美丽的菇凉。他早就听说Java bean 这位倩倩少女,就是不怎么了解。 于是,帅气可爱的笨笨在河边散步。忽然,隐隐约约感觉岸边大树后面,有人偷窥他。一开始,有点害怕。以为是坏人,后来用他大眼睛的余光瞄了几眼,原来是个小姑娘,哈哈······相互转载 2017-07-03 15:18:29 · 361 阅读 · 0 评论