Java
比天空更远
whyJava!我爱Java!
展开
-
Java 集合框架
List 和 SetMapHashMap(Java8 以前):数组 + 链表 O(1) 最坏:O(n)HashMap(Java8 及以后):数组 + 链表 + 红黑树 O(1) 最坏:O(logn)HashMap、HashTable、ConccurentHashMap三者区别:HashMap 线程不安全,数组 + 链表 + ...原创 2019-08-09 10:34:18 · 158 阅读 · 0 评论 -
Java 的反射机制
在 Java 中的反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象方法的功能称为 Java 语言的反射机制。...原创 2019-08-10 14:40:25 · 158 阅读 · 0 评论 -
Java 数据类型之间的转换
String转int、long、float:public class StringToInt { public static void main(String[] args) { String number = "123456"; int num1 = Integer.parseInt(number); int num2 = n...原创 2019-08-19 19:33:08 · 172 阅读 · 0 评论 -
Java 内部类
Java 类中不仅可以定义变量和方法,还可以定义类,这样定义在类内部的类就被称为内部类。根据定义的方式不同,内部类分为静态内部类,成员内部类,局部内部类,匿名内部类四种。一、 静态内部类定义在类内部的静态类,就是静态内部类。public class Out { private static int a; private int b; //静...原创 2019-08-10 15:15:44 · 256 阅读 · 2 评论 -
Map 重写比较器根据 value 排序
TreeMap排序根据Key进行排序 Map 的根据 key 排序需要用到 TreeMap 对象,因为它是默认按照升序进行输出的,可以使用比较器 compareTo 对它进行降序排序,Comparator 可以对集合对象或者数组进行排序的比较器接口,实现该接口的 public compare(T o1,To2) 方法即可实现排序,该方法主要是根据第一个参数o1,小于、等于或者大...原创 2019-08-22 11:31:02 · 1494 阅读 · 1 评论 -
遍历 map 的四种方法
Map是java中的接口,Map.Entry是Map的一个内部接口。Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。Map.Entry是Map声明的一个内部接口,此接口为泛型...原创 2019-08-22 11:56:41 · 259 阅读 · 0 评论 -
消息队列
消息队列像是一个存放消息的容器,当我们需要使用消息的时候可以取出消息供自己使用。消息队列是分布式系统中重要的组件,使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。目前使用较多的消息队列有ActiveMQ,RabbitMQ,Kafka,RocketMQ。使用消息队列的好处:(1) 通过异步处理提高系统性能(削峰、减少响应所需时间) ...原创 2019-08-25 20:37:32 · 210 阅读 · 0 评论 -
接口与抽象类的异同
抽象类与接口的区别类可以实现很多个接口,但是只能继承一个抽象类 接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。(Java8 接口可以有实例方法 需要关键字default) Java接口中声明的变量默认是public static final(必须赋初始值)。抽象类可以包含非final的变量。 Java接口中的成员函数默认是public abstract的。抽...原创 2019-09-03 17:10:51 · 347 阅读 · 0 评论 -
三种常见的缓存过期策略LFU,FIFO,LRU说明
转自:https://blog.csdn.net/m290345792/article/details/90018257缓存实现的过程以及淘汰旧页面的机制不同,所以会有不同缓存调度方法,就常见的就是FIFO,LRU,LFU缓存过期策略。1.FIFO(First In First out):先见先出,淘汰最先近来的页面,新进来的页面最迟被淘汰,完全符合队列。2.LRU(Least ...原创 2019-09-04 16:08:19 · 625 阅读 · 0 评论 -
队列的add()方法、remove()和poll()、offer()方法的区别
两者都是往队列尾部插入元素,不同的时候,当超出队列界限的时候,add()、remove()方法是抛出异常让你处理,而poll()、offer()方法比较友好,直接返回false。...原创 2019-01-22 16:51:43 · 6981 阅读 · 0 评论 -
Java 的IO机制
一、IO(同步、阻塞)1、概述IO流简单来说就是input和output流,IO流主要是用来处理设备之间的数据传输,Java IO对于数据的操作都是通过流实现的,而java用于操作流的对象都在IO包中。2、分类按操作数据分为:字符流(Reader、Writer)和字节流(InputStream、OutputStream)按流向分:输入流(Reader、InputSt...原创 2019-08-25 20:48:16 · 481 阅读 · 0 评论 -
StringBuilder的用法及String,StringBuffer与StringBuilder的区别
转自:https://blog.csdn.net/u011489043/article/details/68488459原创 2019-01-03 11:40:09 · 164 阅读 · 0 评论 -
Java向上、向下取整、四舍五入
使用到的Java 类 :java.lang.MathMath.ceil() 向上取整 Math.floor() 向下取整 Math.round() 四舍五入原创 2019-08-05 10:51:39 · 2240 阅读 · 0 评论 -
保留小数点后固定位数方法
BigDecimal target = new BigDecimal()target.setScale(6,BigDecimal.ROUND_HALF_UP)原创 2019-08-03 18:36:43 · 1174 阅读 · 0 评论 -
递归行为时间复杂度计算
N:父问题样本量 N/b:子问题样本量 a:该过程发生次数 O(N^d):出去子过程调用之外,剩下过程的时间复杂度原创 2019-07-19 17:47:18 · 264 阅读 · 0 评论 -
SpringBoot注解
1.SpringBoot/spring@SpringBootApplication:包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上;@Repository:用于标注数据访问组件,即DAO组件;@Service:用于标注业务层组件;@RestController:用于标注控制层组件(如struts中的ac...原创 2019-07-14 18:06:36 · 175 阅读 · 0 评论 -
java String判空
注意:s == null 是有必要存在的. 如果 String 类型为null, 而去进行 equals(String) 或 length() 等操作会抛出java.lang.NullPointerException. 并且s==null 的顺序必须出现在前面,不然同样会抛出java.lang.NullPointerException. 如下Java代码: String s...原创 2019-02-27 11:35:26 · 718 阅读 · 0 评论 -
HashMap、HashTable、LinkedHashMap的浅层区别
由于还没有研究深入,所以只列出来小白理解的区别: HashMap与HashTable的区别是HashTable线程安全但性能差于HashMap,并且HashMap可以接收为null的key和value,而HashTable不行; LinkedHashMap相对于HashMap来说是可以保持顺序。 HashMap,LinkedHashMap,TreeMap都属于MapM...原创 2019-01-17 11:44:45 · 228 阅读 · 0 评论 -
java中的queue类
java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。如果要使用...原创 2019-01-08 16:46:09 · 3821 阅读 · 0 评论 -
Java中length、length()、size()的区别
length不是方法,是属性,数组的属性;public static void main(String[] args) { int[] intArray = {1,2,3}; System.out.println("这个数组的长度为:" + intArray.length);}length()是字符串String的一个方法;public static voi...原创 2019-01-08 14:39:38 · 213 阅读 · 0 评论