Java
紫雨飞星
以开放的心态拥抱世界。
展开
-
对Map类分别按照Key,Value排序,返回值为List对象
MapSort对Java中Map进行排序操作 - 原理介绍: 涉及到Comparable接口以及Comparator接口的操作 例子public class Person{ String name; int age;}Comparable接口comparable 用于在类的内部实现的compareTo函数进行比较两个对象的; 使用Comparable接口的话,需要在Pers原创 2016-03-31 14:37:12 · 1658 阅读 · 0 评论 -
JVM内存分配
原网址 java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用转载 2016-04-02 11:27:43 · 266 阅读 · 0 评论 -
Java中的垃圾回收算法
Java中的垃圾回收算法1. 引用计数算法(Reference Counting Collector)引用计数原理: - 在堆中,对每个对象都有个引用计数器,被引用时,计数器+1; - 当引用被置空或离开作用域,引用计数器-1。 无法解决互相引用问题,所以JVM没有采用。同时效率低下2. 追踪回收算法(Tracing Collector)原理: - 利用JVM维护的对象引用图,从根节点遍历对原创 2016-04-10 22:30:22 · 616 阅读 · 0 评论 -
Java线程的几种状态
新建( new ):新创建了一个线程对象。可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取 cpu 的使用权 。运行( running ):可运行状态( runnable )的线程获得了 cpu 时间片( timeslice ) ,执行程序代码。阻塞( block原创 2016-04-17 12:41:16 · 333 阅读 · 0 评论 -
百度在线笔试
正则匹配问题: 给定’(‘, ‘)’, ‘?’三种字符。当输入合法时输出。 输入: 第一行,包含三种字符的字符串; 第2~n行,代表有n-2个问号,每一行中有两个数字,分别代表替换’?’为’(‘和’)’的代价。 输出: 输出代价最小的,且合法的匹配,先输出代价,再输出匹配的正则式。当多个匹配时,输出第一个最小匹配。 例: (??) 2 4 2 8 输出为原创 2016-04-21 23:12:09 · 488 阅读 · 0 评论 -
使用MethodInterceptor实现AOP
学习笔记TPS QPS 一、TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS) TPS是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时原创 2016-08-27 11:41:53 · 704 阅读 · 0 评论 -
Mock测试工具类的设计与使用
测试工具前段时间的时候,在写很多单元测试,用了比较多的Mockito。 但是有个比较麻烦的事情就是需要调用很多的set方法,甚至有部分被mock的类使用了Spring的注解来注入,并没有使用set方法来赋值,就造成了无法对该属性初始化的尴尬。于是有了以下的工具: 使用该注解,可以标注在测试类或属性上。import java.lang.annotation.ElementType;import原创 2016-09-18 11:33:23 · 3605 阅读 · 0 评论