
Java基础知识整理
迟到的二货
~~~~~~~~
展开
-
Collections.sort排序
一,Collections.sort的简单排序TestCollections.javaimport java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class TestCollections implements原创 2018-01-21 08:15:34 · 3843 阅读 · 1 评论 -
面试题收藏
2018/02/08面试总结 1.写出hibernate的一对多和多对一双向关联的annotation配置。 2.java开发中会用到的第三方包。 3.如何防止前台页面重复提交。 4.java类加载器classloader总结。 5.left join 与join的区别。 6.值传递与引用传递。 7.JDK动态代理GClib动态代理(深入了解其原理)。 8.单例模式(懒加载深入了解...原创 2018-02-08 23:41:58 · 619 阅读 · 0 评论 -
重构 改善既有代码的设计读后总结
1. 重复代码这种情况应该很多人都遇到过,编程中不要有大量的重复代码,解决办法就是去提炼到一个单独的函数中。void A() { ..... System.out.println("name" + _name);}void B() { ..... System.out.println("name" + _name);}更改为↓void A转载 2018-02-04 09:43:38 · 278 阅读 · 0 评论 -
线程
第一回 初生牛犊我是一个线程,我一出生就被编了个号:0x3704,然后被领到一个昏暗的屋子里,在这里我发现了很多和我一模一样的同伴。我身边的同伴0x6900 待的时间比较长,他带着沧桑的口气对我说:“我们线程的宿命就是处理包裹。把包裹处理完以后还得马上回到这里,否则可能永远回不来了。”我一脸懵懂,“包裹,什么包裹?”“不要着急,马上你就会明白了,我们这里是不养闲人的。”果然,没转载 2018-02-04 10:01:33 · 193 阅读 · 0 评论 -
Java基础面试题(1)
1、一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、Java有没有goto? java中的保留字,现在没有在java中使用。3、说说&和&&的区别。 &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为转载 2018-02-06 12:21:27 · 194 阅读 · 0 评论 -
java实现任意进制的互相转换
首先声明此工具类是借鉴前辈的代码写的,工具类主要用于项目中需要生成一个key id,包括日期时间和mac,又要尽可可能数据量小并具有可读性,可能我选为0-9,A-Z和几个符号搭配成42进制,具体代码如下, 你亦可能改变code_string,改为自己想要的代码,就可能实现简单的数据加密了…package com.freestyle.utils; import java.util.Stac...转载 2018-02-22 17:48:13 · 5730 阅读 · 0 评论 -
java8新特性
https://www.cnblogs.com/justcooooode/p/7701260.html原创 2018-02-23 22:45:39 · 142 阅读 · 0 评论 -
创建类和变量的初始化顺序
变量>方法 变量放在哪儿,都会先于任意一个方法的执行前执行,包括构造方法,而构造方法是一个类必须会执行的方法,不需要显示的进行调用。同时,不论变量在哪儿分布,只要在方法外部,就一定先于方法初始化。 静态块>非静态块 我们new了两个对象,可是静态块只执行了一次,而非静态块执行了两个,且都是在调用构造器之前。我们似乎得出了一些结论:静态块是在类的装载时执行的(装入.class文件后...原创 2018-08-31 16:30:13 · 230 阅读 · 0 评论 -
ConcurrentHashMap原理分析
一、出现背景 1、线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。2、效率低下的HashTable容器 HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的...转载 2018-02-24 22:36:50 · 137 阅读 · 0 评论 -
Java 8 获取某天最大(23:59:59)最小(00:00:00)时间
获取某一天最大时间和最小时间如下:import java.text.SimpleDateFormat; import java.time.Instant; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId; import java.util.Date; ...原创 2018-05-22 15:05:32 · 3615 阅读 · 0 评论 -
BigDecimal精确计算总结
构造BigDecimal BigDecimal提供了丰富的构造函数,可以通过int、long、double、String等来构造一个BigDecimal对象。但是,使用double作为参数的构造函数,无法精确构造一个BigDecimal对象,需要自己指定一个上下文的环境,也就是指定精确位。 例如:BigDecimal bg = new BigDecimal(1.1);System....原创 2018-06-24 22:52:39 · 199 阅读 · 0 评论 -
Java基础面试题(2)
1、数组有没有length()这个方法? String有没有length()这个方法? 数组没有length()这个方法,有length的属性。String有有length()这个方法。2、下面这条语句一共创建了多少个对象:String s=”a”+”b”+”c”+”d”; 答:对于如下代码: String s1 = “a”; String s2 = s1 + “b”; ...转载 2018-02-08 23:45:25 · 205 阅读 · 0 评论 -
Java线程相关问题
线程安全 如果一个类在单线程环境下能够正常运行,并且在多线程环境下,在其使用方不必为其做任何改变的情况下也能正常运行,我们就称线程安全;一个类如果能够导致竞态那么它就是非线程安全的;如果一个类是线程安全的,那么它就不会导致竞态。 竞态 计算结果与时间有关的现象被称为竞态。wait方法和sleep方法的区别 sleep 是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机原创 2018-01-14 16:27:15 · 234 阅读 · 2 评论 -
String、StringBuffer与StringBuilder之间区别
1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String 2. String:字符串常量 ,StringBuffer:字符串变量,StringBuilder:字符串变量 3.当用String操作字符串时,实际上是在不断的创建新的对象,存在于jvm常量池,不可变;StringBuffer与StringBuilder就不一样了,他们是字符串变量原创 2018-01-19 09:01:02 · 282 阅读 · 0 评论 -
Java中如何理解Static,Final,Static Final
Static为什么要用static?有一些频繁使用的东西,如果你每次使用都重新new一下,那么这个开销可能会很高,如果使用static,一直放在内存中,那么想用就直接用,而不需要重新new一块空间初始化数据。那么static就是为了实现一个系统的缓存作用的,其生命周期直到应用程序退出结束。这说明,static修饰的类成员,在程序运行过程中,只需要初始化一次即可,原创 2018-01-09 01:16:31 · 6529 阅读 · 0 评论 -
Java内存管理
内存区域划分Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM的重要性。所以在学习Java内存分配原理的时候一定要牢记这一切都是在JVM中进行的,JVM是内存分配原理的基础与前提。简单通俗的讲,一个完整的Java程序运行过程会涉及以下内存区域:l 寄原创 2018-01-11 22:43:32 · 218 阅读 · 0 评论 -
Java创建线程方式总结
创建线程的方式1.继承Thread类 2.实现Runnable接口 3.实现Callable接口 4.通过线程池来创建线程创建线程方式之间的比较:1. Thread和Runnable的比较Thread和Runnable是实现java多线程的2种方式,Runnable是接口,Thread是类,建议使用Runnable实现 java多线程,不管如何,最终都需要通过thre原创 2018-01-10 12:22:04 · 208 阅读 · 0 评论 -
Java反射机制
概念Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。作用在运行时判断任意一个对象所属的类;在运行时获取类的对象;在运行时访问java对象的属性,方法,构造方法等。功能实现获取类原创 2018-01-09 02:26:02 · 192 阅读 · 0 评论 -
Java的NIO,IO
NIOJava NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API,核心组件:Channel、Buffers和SelectorNIO和IOChannel与Buffer基本上所有的IO在NIO都从一个Channel开始。Channel有点像流,数据可以从Channel读到Buffer中,也可以从Buffer原创 2018-01-19 07:43:45 · 299 阅读 · 0 评论 -
Java集合总结
collection├List │├LinkedList │├ArrayList │└Vector │ └Stack └SetMap ├Hashtable ├HashMap └WeakHashMapHashMap与HashTable有什么区别:(数组+链表) 1、HashMap是非线程安全的,HashTable是线程安全的。2、HashMap的键和值都允许有nul原创 2018-01-14 14:35:28 · 162 阅读 · 0 评论 -
java中判断字符串是否为数字的方法的几种方法
Java中判断字符串是否为数字的方法:1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ System.out.println(str.charAt(i)); if (!Character.isDigit(str.char...转载 2018-08-09 10:48:26 · 217 阅读 · 0 评论