摘要:
20000=>ZXP 二分法 getSeriesMinSort2(list) Time is 67000 20000=>循环 getSeriesMinSortFor(list) Time is 2800200 20000=>TBB getSeriesMinNoSort (list) Time is 5812800 20000=>ZXP 二分法 getSeriesMinS... 阅读全文
摘要:
先定义一个实体类 下面的操作都基于这个类来进行操作。这里面使用了Lombok类库,它用注解的方式实现了基本的get和set等方法,让代码看起来更加的优雅。 JAVA8之前的List排序操作 在Java8之前,对集合排序只能创建一个匿名内部类 下面是简单的对Humans进行排序(按名称正序) 使用La 阅读全文
摘要:
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 冒泡排序算法的运作 阅读全文
摘要:
1 数组转换为List 调用Arrays类的静态方法asList。 asList public static <T> List<T> asList(T... a) Returns a fixed-size list backed by the specified array. (Changes to 阅读全文
摘要:
二分查找过程 二分查找,也称折半查找,是对有序序列的查找算法,时间复杂度为O(log n).本文的重点是某元素二分查找的比较次数。特别要注意的是查找的上下边界问题(下面有解释) 例:22 34 55 77 89 93 99 102 120 140,查找77需要查找的次数是多少? 序列: 22 34 阅读全文
摘要:
/* * ArrayUnique.java * Version 1.0.0 * Created on 2017年12月16日 * Copyright ReYo.Cn */ package reyo.sdk.utils.test.array; /** * 创 建 人:AdministratorReyoAut * 创建时间:2017年12月16日 下午3:32:23 * * @author R... 阅读全文
摘要:
1、自旋锁 自旋锁是采用让当前线程不停地的在循环体内执行实现的,当循环的条件被其他线程改变时 才能进入临界区。如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public class SpinLock { private AtomicReference<Thread> 阅读全文
摘要:
先来看数据表的结构如下: id name parent_id 1 Home 0 2 About 1 3 Contact 1 4 Legal 2 5 Privacy 4 6 Products 1 7 Support 1 我要的要求是根据一个分类ID(这个分类ID可能是一个子分类),得到所有的父分类,下 阅读全文
摘要:
先来看数据表的结构如下: id name parent_id 1 Home 0 2 About 1 3 Contact 1 4 Legal 2 5 Privacy 4 6 Products 1 7 Support 1 我要的要求是根据一个分类ID(这个分类ID可能是一个子分类),得到所有的父分类,下 阅读全文
摘要:
/* * test.java * Version 1.0.0 * Created on 2017年12月16日 * Copyright ReYo.Cn */ package reyo.sdk.utils.test.date; /** * 创 建 人:AdministratorReyoAut * 创建时间:2017年12月16日 上午9:52:52 * * @author ReYo * @v... 阅读全文
摘要:
1、为什么需要HashMap 前面我们说了ArrayList和LinkedList,它们对容器内的对象都能实现增、删、改、查、遍历等操作, 并且对应不同的情况,我们可以选择不同的List,用以提高效率。从功能上来说,这个容器已经设计得很好了, 为什么我们还要HashMap呢?接下来,让我们细细地分析 阅读全文
摘要:
1、什么是容器? 在程序中,容器是一种用来容纳对象的数据结构,比如说list、set 、map、queue。 2、为什么需要容器? 我们为什么需要容器呢?因为在程序中,我们会在任意时刻和任意位置创建任意数量的对象。没有容器,我们能够坐到在任意时刻和任意位置创建对象,但是创建任意数量的对象却是做不到。 阅读全文
摘要:
对象的六大原则: 1.单一职责原则(Single Responsibility Principle SRP) 2.开闭原则(Open Close Principle OCP) 3.里氏替换原则(Liskov Substitution Principle LSP) 4.依赖倒转原则(Dependenc 阅读全文
摘要:
什么是单例模式? 定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例场景,也就是说:确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象应该有且只有一个。 UML类图: 构建单例模式的关键: 1.构造函数不对外开放,一般为Private 2.通过一个 阅读全文
摘要:
1、ArrayList的特点 主要特点:按照插入顺序来保存元素,可以利用下标来查找值 2、ArrayList的优点: 按照下标访问元素最快 3、ArrayList的缺点: 在中间插入元素很慢 删除元素很慢 4、ArrayList的主要功能: 1、增加 多个添加:通过构造函数ArrayList(Col 阅读全文
摘要:
1、这几种容器的特点 LinkedList:按照下标随意取元素 Stack:后进先出取元素 Queue:先进先出取元素 PriorityQueue:按照优先级来取元素 总结:以上四种都是按照顺序来存储元素的,但是就是取元素的时候顺序不一样,这样就把大部分情况都涵盖在里面了,彰显出容器设计的全面性和考 阅读全文
摘要:
初始化ArrayList我们一般这样写:ArrayList<String> places = new ArrayList<String>();places.add("Buenos Aires");places.add("Córdoba");places.add("La Plata"); 我重构代码做 阅读全文
摘要:
/* * GetModelNameAndType.java * Version 1.0.0 * Created on 2017年12月15日 * Copyright ReYo.Cn */ package reyo.sdk.utils.reflect; /** * 创 建 人:AdministratorReyoAut * 创建时间:2017年12月15日 下午9:20:44 * *... 阅读全文
摘要:
首先了解一下反射的原理,什么是反射?所谓的反射就是指java 语言在运行时拥有一项自观的能力,反射能使你得到装载到 jvm 中的类的内部信息,它不需要你在编码的时候就知道所需类的内部信息,允许程序执行时才得到所需类的内部信息。反射能够构建灵活的应用的程序。 使用反射为bean 赋值 ,主要表现在几点 阅读全文
摘要:
今天项目中遇到了一个问题,要调用一个类,并获取这个类的属性进行赋值然后将这个类传递到方法中做为参数。 实际操作时才发现,这个类中的字段属性是私有的,不能进行赋值!没有提供公有的方法。而这个类又是打包成jar给我的,我还不能更改它的代码,以至于想手动给它写个set方法都是问题。后来想到用反射可以解决这 阅读全文
摘要:
这里我将会给大家演示用ConcurrentHashMap类和lambda表达式实现一个本地缓存。因为Map有一个新的方法,在key为Null的时候自动计算一个新的value值。非常适合实现cache。来看下代码: public static void main(String[] args) { fo 阅读全文
摘要:
Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。 这样 阅读全文
摘要:
s1==s2:trues1==s3:falses3==s4:falseAccessible: false -> truevalue:reyovalue:ys1:xeyos2:xeyos3:xeyos4:xeyos1==s2:trues1==s3:falses3==s4:false 阅读全文
摘要:
getDiffrent total times 320118400getDiffrent3 total times 12051500getDiffrent5 total times 6301100getDiffrent4 total times 7527300getDiffrent2 total t 阅读全文
摘要:
目录 1. Java集合类基本概念 在编程中,常常需要集中存放多个数据。从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数据(在编译时无法确定具体的数量) 阅读全文
摘要:
Stack继承Vector类,它通过五个操作对类 Vector 进行了扩展。 栈是 后进先出的。 栈提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的 search 方法。 现附上例子,后续继续总结 1 阅读全文
摘要:
Stack简介 Stack是栈。它的特性是:先进后出(FILO, First In Last Out)。 java工具包中的Stack是继承于Vector(矢量队列)的,由于Vector是通过数组实现的,这就意味着,Stack也是通过数组实现的,而非链表。当然,我们也可以将LinkedList当作栈 阅读全文
摘要:
Vector简介 Vector 是矢量队列,它是JDK1.0版本添加的类。继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口。 Vector 继承了AbstractList,实现了List;所以,它是一个队列,支持相关的添加、删除、修改、遍历等功 阅读全文
摘要:
[java] package test; import java.util.ArrayList; import java.util.List; public class test { public static void main(String[] args) { List<String> list 阅读全文
摘要:
第1部分 List概括 先回顾一下List的框架图 (01) List 是一个接口,它继承于Collection的接口。它代表着有序的队列。(02) AbstractList 是一个抽象类,它继承于AbstractCollection。AbstractList实现List接口中除size()、get 阅读全文
摘要:
由于数据库字段设置不正确引起的,不能选中 alter <table> modify <column> int unsigned; 关于unsigned int类型,可以看看它的帮助: INT[(M)] [UNSIGNED] [ZEROFILL] A normal-size integer. The 阅读全文
摘要:
1、普通索引 mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHEREcolumn=)或排序条 阅读全文
摘要:
mysql递归查询,mysql中从子类ID查询所有父类(做无限分类经常用到) 由于mysql 不支持类似 oracle with ...connect的 递归查询语法 之前一直以为类似的查询要么用存储过程要么只能用程序写递归查询. 现在发现原来一条sql语句也是可以搞定的 先来看数据表的结构如下: id name parent_id ------------------... 阅读全文
摘要:
在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的 阅读全文
摘要:
项目中有一个规则编号字段,从1开始,编号长度为5位,那么第一条数据编号就是00001。 实现的基本思路就是项目启动时,从数据库获取当前最大值,作为静态变量存储; 业务获取新的编码,考虑并发问题,获取编码方法(编码自增部分)为synchronized同步方法,如果自增为原子操作,则无需同步; 编码前置 阅读全文
摘要:
这个类真的非常实用,更重要的是 它确实非常简单: 附上自己的代码,可以自己试试: AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一 阅读全文
摘要:
下载: http://repo.spring.io/release/org/springframework/spring/ Dear Spring community, I’m pleased to announce that Spring Framework 5.0.2 and 4.3.13 ar 阅读全文
摘要:
/* * TestTengXun.java * Version 1.0.0 * Created on 2017年12月2日 * Copyright ReYo.Cn */ package reyo.sdk.utils.test.w; import java.util.Scanner; public class Testzhi { @SuppressWarnings("resource") ... 阅读全文
摘要:
import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 判断多个时间段是否出现重叠 * @author cavancao */ public class TimeSlotUtil { public static bool... 阅读全文
摘要:
已知序列X=(A,B,C,A,B,D,A)和序列Y=(B,A,D,B,A),求它们的最长公共子序列S。 阅读全文