始于足下
文章平均质量分 85
夜雨声烦√
这个作者很懒,什么都没留下…
展开
-
JAVA基础练习(一)
for (int i = 3; i <= 40; i++) { c = a + b; a = b; b = c; arr[i - 1] = c; }原创 2018-10-14 03:46:54 · 223 阅读 · 0 评论 -
Java基础练习(三)
1、将数组中的奇数置换到偶数前面(时间复杂度为O(n))算法设计思路:我们可以在数组前端和末端各自定义一个索引,从数组两边同时向中间开始查找:int i = 0;int j = a.length-1;for (;i<j;){if (i < j && a[i] % 2 != 0){i ++;原创 2018-10-19 05:36:32 · 228 阅读 · 0 评论 -
Java基础练习(二)
1、实现二分法查找算法,要求返回目标值的下标二分法是针对已经排序好的数组,将要查找的元素值,先与数组的中间值进行比较:如果等于中间值,则直接返回结果;如果小于中间值,则要查找的元素值必在前面一段的子数组中;如果大于中间值,则要查找的元素值必有后面一段的子数组中。我实现该算法时的思路是,实现二分法查找算法首先要保证数组是顺序排列的,这样才能进行后续操作。所以我先用Array.sort方法保证数组...原创 2018-10-17 02:58:44 · 216 阅读 · 0 评论 -
魔方阵
例如,三阶魔方阵为8 1 63 5 74 9 2定和的公式 :一個 n 階魔方陣的定和可用下列公式求出:(1 + n2) ×n ÷2魔方阵的排列规律如下:⑴将1放在第一行中间一列;⑵从2开始直到n×n止各数依次按下列规则存放;每一个数存放的行比前一个数的行数减1,列数加1(例如上面的三阶魔方阵,5在4的上一行后一列);...原创 2018-10-28 17:09:08 · 86 阅读 · 0 评论 -
Java中的反射机制
1、反射的概念Java反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。反射就是把java类中的各种成分映射成一个个的Java对象。2、反射的前提使用反射时,首先我们必须先拿到Class对象,Class对象的由来是将class文件读入内存,并为之创...原创 2018-11-20 01:05:16 · 95 阅读 · 0 评论 -
Java中的枚举
1、为什么需要枚举我们可以将枚举看成一种特殊的类,并且可以将注解看成一种特殊的接口。枚举的思想很简单,也很方便:它代表了一组固定的常量值。实际上,枚举经常用来设计一些状态常量。在没有枚举之前,我们定义常量都是: public static fianl…现在有了枚举,枚举类更加直观,类型安全。我们可以就把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。2、枚举的用法①、可以用...原创 2018-11-20 01:36:48 · 111 阅读 · 0 评论 -
线程安全Map——ConcurrentHashMap(JDK1.7)解析及与HashMap、HashTable的区别
1、底层数据结构是什么?在研究ConcurrentHashMap的底层数据结构之前,我们先要明确ConcurrentHashMap类中的属性,其中,有两个最重要的属性,分别是HashEntry和Segment。HashEntry是ConcurrentHashMap最基本的储存数据的单位,主要存储键值对,其源码是:static final class HashEntry<K,V> ...原创 2019-04-26 11:32:12 · 237 阅读 · 0 评论 -
JDK1.7版本线程池浅析
多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。当我们需要处理的任务较多时,就可以使用线程池,它可以帮助我们限制系统中执行线程的数量,节省系统资源的开销,节省创建和销毁线程的时间等。线程池:线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小...原创 2019-05-07 18:40:13 · 620 阅读 · 0 评论