java基础
文章平均质量分 72
fruggy
班门弄斧要的不是技术,而是勇气和决心
展开
-
BigDecimal(double)” should not be used
BigDecimal(double)” should not be used级别:bugBecause of floating point imprecision, you’re unlikely to get the value you expect from the BigDecimal(double) constructor.From the JavaDocs:The res原创 2017-08-10 01:41:18 · 2582 阅读 · 0 评论 -
mybatis中xml文件编写时需要注意的事项
xml中某些特殊符号作为内容信息时需要做转义,否则会对文件的合法性和使用造成影响Html代码 < > > & & ' ' " " 在mapper文件中写sql语句时,为避免不必要的麻烦(如来标记不应由xml解析器进行解析的文本数据,由包裹的所有的内容都会被解转载 2017-08-12 01:35:08 · 264 阅读 · 0 评论 -
JAVA变量初始化的默认值
对于成员变量不管程序有没有显示的初始化,Java 虚拟机都会先自动给它初始化为默认值。 1、整数类型(byte、short、int、long)的基本类型变量的默认值为0。2、单精度浮点型(float)的基本类型变量的默认值为0.0f。3、双精度浮点型(double)的基本类型变量的默认值为0.0d。4、字符型(char)的基本类型变量的默认为 “/u0000”(转载 2017-11-11 00:12:43 · 447 阅读 · 0 评论 -
JAVA字符串格式化-String.format()的使用
常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(转载 2017-11-29 21:30:04 · 303 阅读 · 0 评论 -
javaweb谈一谈Servlet线程安全问题
转载自http://www.cnblogs.com/LipeiNet/p/5699944.html前言:前面说了很多关于Servlet的一些基础知识,这一篇主要说一下关于Servlet的线程安全问题。1:多线程的Servlet模型要想弄清Servlet线程安全我们必须先要明白Servlet实例是如何创建,它的模式是什么样的。在默认的情况下Servlet容器对声明的S转载 2017-11-30 23:15:40 · 342 阅读 · 0 评论 -
java WeakReference解决内存泄漏
java语言中为对象的引用分为了四个级别,分别为 强引用 、软引用、弱引用、虚引用。本文只针对java中的弱引用进行一些分析,如有出入还请多指正。在分析弱引用之前,先阐述一个概念:什么是对象可到达和对象不可到达状态。其实很简单,我举个例子:现在有如下两个类class A class B,在JVM上生成他们两个类的实例分别为 instance a instanc原创 2017-12-01 00:18:52 · 1682 阅读 · 0 评论 -
list.toArray()转换为数组对象
List 集合给我们提供了一个把LIst转为数组的方法, toArray();但是这个方法返回的类型是 Object[ ] ;如果我们要是想强转为我们想要的类型,比如说是字符串数组类型 String[ ] ;List list = new ArrayList();list.add("ab");list.add("cd");list.add("ef");String[]转载 2017-11-26 22:51:41 · 796 阅读 · 0 评论 -
Map put和remove的 使用
import java.util.HashMap;import java.util.Map;public class TestDemo {public static void main(String[] args) { Map map = new HashMap(); Integer it = map.put("id", new Integer(1)); Int原创 2017-11-26 23:08:41 · 13997 阅读 · 0 评论 -
Java Arrays类进行数组排序
@see https://www.cnblogs.com/xudong-bupt/p/3168618.html排序算法,基本的高级语言都有一些提供。C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(不是Array)。用这些排序时,都可以写自己的排序规则。 Java API对Arrays类的说明是:此类包含用来操作数组(比如排序和搜索)的各种方法。1.对基本数据原创 2017-11-26 23:41:41 · 216 阅读 · 0 评论 -
protected详解!
在网上一搜或是查书,得到的结果都是这么写的protected 的属性和方法可以在本包和子类访问 这里的访问 我不太明白是什么意思。。一、在不同包中请看下面两端代码,其中包B中的猫和鼠都继承了动物类。//代码1:包A中有一个动物类 package testa; public class Animal { protected vo原创 2017-12-06 20:19:41 · 6408 阅读 · 3 评论 -
T和Class<T>以及Class<?>的理解
T bean ;Class bean;Class bean;在利用反射获取属性时,遇到这样的写法,对此专门查些资料研究了一下。单独的T 代表一个类型 而 Class和Class代表这个类型所对应的类Class在实例化的时候,T要替换成具体类Class它是个通配泛型,?可以代表任何类型 受限统配,表示T的一个未知子类。下限统配,表示T原创 2017-11-27 23:19:56 · 4518 阅读 · 0 评论 -
java中return用法总结
转载自:http://blog.csdn.net/xiaoxingfu0604/article/details/53067577Java中return用于方法,两个作用: (1)返回方法指定类型的值(这个值总是确定的),也可以是对象 (2)方法的结束两种形式:(1)有返回类型 例如:return i; (2)无返回类型 return;一般方法前有void代表无返回值,没...转载 2018-03-17 21:51:15 · 9418 阅读 · 0 评论 -
java中continue标记的使用
转载自:http://blog.csdn.net/oguro/article/details/52914487continue的适用范围: continue只能用于循环语句。continue的作用:continue的作用是跳过本次的循环体内容。继续下一次。continue要注意的事项:1. 在一种情况下,continue后面不能跟有其他语句,因为是永远都无法执行到。2. continue 也可以配...转载 2018-03-18 15:55:42 · 517 阅读 · 0 评论 -
static{}静态代码块与{}普通代码块之间的区别
转载自:http://blog.csdn.net/aledavvv/article/details/16920743static{}(静态代码块)与{}(非静态代码块)的异同点相同点:都是在JVM加载类时且在构造方法执行之前执行,在类中都可以定义多个, 一般在代码块中对一些static变量进行赋值。不同点:静态代码块在非静态代码块之前执行(静态代码块—>非静态代码块—>构造方法)...转载 2018-03-19 21:17:00 · 1748 阅读 · 0 评论 -
Java中关于WeakReference和WeakHashMap的理解
转载自:https://www.cnblogs.com/Skyar/p/5962253.html新美大的10月11日的笔试中有一道选择题,让选择函数返回结果,代码如下: 1 private static String test(){ 2 String a = new String("a"); 3 WeakReference<String> b = n...转载 2018-03-19 21:51:11 · 300 阅读 · 0 评论 -
Java中判断两个Long类型是否相等
@see https://blog.csdn.net/hxxanyifree/article/details/68063641开发中有遇到Long类型比较是否相等,比如Long A和Long B判断是否相等,当时习惯性的直接A==B; 自测的话确实么有问题,但是测试那边测试就有问题,当时郁闷了一下然后换成了A.equals(B)或A.longValue()==B.longValue()都是...转载 2018-05-09 12:36:05 · 1968 阅读 · 0 评论 -
Java 枚举(enum) 详解7种常见的用法
@see https://blog.csdn.net/qq_27093465/article/details/52180865JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。大师兄我又加上自己的理解,来帮助各位理解一下。用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,...转载 2018-05-08 12:51:35 · 298 阅读 · 0 评论 -
抛出异常
既然我们可以捕获到各种各样的异常,那么这些异常是在什么地方抛出的呢?在编程过程中,我们往往会遇到这种情况,在当前环境中无法解决,比如用户传入的参数错误,IO设备问题等。此时,就要从当前环境中抛出异常提交给上级来处理。在Java语言中,使用throw关键字来抛出异常。来看以下代码Code:public class A**Exception原创 2017-08-12 01:28:57 · 237 阅读 · 0 评论 -
java 判断
1.字符串的判断方法方法一: 本人推荐的方法,开发中最常用的方法,看起来也比较高大上:if(StringUtils.isNotBlank(str))//判断字符串不为空 或if(StringUtils.isBlank(str))//判断字符串为空方法二: 比价简单直接的方法if(s == null ||"".equals(s));原因:java 空字符串与null区别原创 2017-08-10 01:01:58 · 2237 阅读 · 1 评论 -
new Date()和System.currentTimeMillis()性能之比较
通过观察源码发现: public Date() { this(System.currentTimeMillis()); }so:date类是 System.currentTimeMillis()的一个封装,势必性能会有所降低原创 2017-08-12 01:17:02 · 1416 阅读 · 0 评论 -
Java Collections.EMPTY_LIST 和 Collections.emptyList()的区别
Collections.EMPTY_LIST返回的是一个空的List。为什么需要空的List呢?有时候我们在函数中需要返回一个List,但是这个List是空的,如果我们直接返回null的话,调用者还需要进行null的判断,所以一般建议返回一个空的List。Collections.EMPTY_LIST返回的这个空的List是不能进行添加元素这类操作的。这时候你有可能会说,我直接返回一个new Arr原创 2017-08-10 01:46:34 · 774 阅读 · 0 评论 -
Map集合中value()方法与keySet()、entrySet()区别
在Map集合中values():方法是获取集合中的所有的值----没有键,没有对应关系,KeySet():将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。 keySet():迭代后只能通过get()取key entrySet():Set> entrySet() //返回此映射中包含的映射关系的转载 2017-08-10 01:58:21 · 388 阅读 · 1 评论 -
API
http://tool.oschina.net/apidocs/apidoc?api=jdk-zh javaEE API原创 2017-08-10 02:25:34 · 227 阅读 · 0 评论 -
关于 java.toString() ,(String),String.valueOf的区别
方法1:采用 Object.toString()方法code :object.toString()使用toString()时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。采用这种方法时,通常派生类会覆盖Object里的toString()方法。方法2:采用类型转换(String)object方法原创 2017-08-10 02:33:15 · 368 阅读 · 0 评论 -
js 编码解码 与 java编码解码
js篇:encodeURI()与decodeURI()是成对来使用的,浏览器的地址栏有中文或其他英文字符的话,可能会出现不可预期的错误,或者地址栏避免出现中文的话,可以用encodeURI把非英文字符转化为英文编码,再用decodeURI把字符还原回来。注:decodeURI()方法相当于Java中的java.NET.URLDecoder.decode(URIString, "原创 2017-08-18 00:52:45 · 250 阅读 · 0 评论 -
正则
一、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:^(\-原创 2017-08-18 21:26:20 · 191 阅读 · 0 评论 -
使用java字符串中的反斜杠和特殊符号的表示
今天在项目中使用Java中replaceAll方法将字符串中的反斜杠("\")替换成空字符串(""),结果出现如下的异常:1 java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \^ 上网找了一下错误的原因:在regex中"\\"表示一个"\",在java中一个"\"也要转载 2017-08-18 01:52:03 · 7123 阅读 · 0 评论 -
java 判断字符串编码类型
[java] view plain copy print?public static String getEncoding(String str) { String encode = "GB2312"; try { if (str.equals(new String(str.getBytes(e原创 2017-08-18 23:50:11 · 433 阅读 · 0 评论 -
String,StringBuilder和StringBuidler的特点与用法
一、String对象1、String类的特点:a、Java语言中用于描述的最常见的字符串数据的对象。b、字符串数据都是一个对象。 c、字符串数据一旦初始化就不可以被改变了。 d、字符串对象都存储在常量池中,字符串常量池。2、创建字符串对象的两种方式(建议不要用new的方式来创建对象) String s1 = "abcd";/转载 2017-08-18 23:38:01 · 365 阅读 · 0 评论 -
Java关键字instanceof
Java中的instanceof是用来判断某个实例是不是某个类的实例。 例如:A instanceof B (A为某个实例,B为某个类名) 如果A为B的实例,则:(A instanceof B)==true 反之==false 代码举例:package JavaKEYWORDS;class Bird{//父类}class BigBird extends Bird{//Bi转载 2017-08-19 00:47:54 · 288 阅读 · 0 评论 -
java中continue标记的使用
continue关键字continue的适用范围: continue只能用于循环语句。continue的作用:continue的作用是跳过本次的循环体内容。继续下一次。continue要注意的事项:1. 在一种情况下,continue后面不能跟有其他语句,因为是永远都无法执行到。2. continue 也可以配合标记使用的。[java转载 2017-08-19 00:54:07 · 778 阅读 · 0 评论 -
HexUtil工具类
/** * 进制转化 * @author * */ public class HexUtil { /** * 二进制byte数组转十六进制byte数组 * byte array to hex * * @param b byte array * @return hex stri转载 2017-08-11 23:58:11 · 3184 阅读 · 1 评论 -
Java中Collections.sort()排序详解
第一种:Comparable 排序接口若一个类实现了Comparable接口,就意味着“该类支持排序”。 假设“有一个List列表(或数组),里面的元素是实现了Comparable接口的类”,则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序。此外,“实现Comparable接口的类的对象”可以用作“有序映射(如TreeMap)”中的转载 2017-08-10 03:10:04 · 341 阅读 · 0 评论 -
java克隆
why:今天一直很纠结为什么Java里面有个clone()方法,复制对象时直接“=”不就行了,为什么还要在每个类里面重写clone方法。 Google了下,发现这个是典型的先学C/C++后再学JAVA遇到的问题,原来在JAVA中默认的“=”赋值操作,其实是将一个引用复制过去了,二者指向的还是同一块内存gogoing:有时候,我们需要把对象原创 2017-08-12 00:34:22 · 198 阅读 · 1 评论 -
关闭流
我们深知在操作Java流对象后要将流关闭,但往往事情不尽人意,大致有以下几种不能一定将流关闭的写法: 1.在try中关流,而没在finally中关流[java] view plain copy1. try { 2. OutputStream out = new FileOutputStream(""); 3. // ...操作流代码 4.原创 2017-08-12 00:52:21 · 293 阅读 · 0 评论 -
不要使用equals方法对AtomicXXX进行是否相等的判断
1. “.equals()” should not be used to test the values of “Atomic” classes级别:bugAtomicInteger, and AtomicLong extend Number, but they’re distinct from Integer and Long and should be handled differen原创 2017-08-12 01:08:36 · 593 阅读 · 0 评论 -
fastjson SerializerFeature详解
@see https://blog.csdn.net/u010246789/article/details/52539576依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId&...转载 2018-05-08 12:59:36 · 487 阅读 · 0 评论