03 2019 档案

摘要:因为hashmap本身是非线程安全的,如果多线程对hashmap进行put操作的话,就会导致死循环等现象。ConcurrentHashMap主要就是为了应对hashmap在并发环境下不安全而诞生的,ConcurrentHashMap的设计与实现非常精巧,大量的利用了volatile,final,CA 阅读全文
posted @ 2019-03-28 11:19 codelzc 阅读(620) 评论(0) 推荐(0)
摘要:面试的一道题目,实现int随机数的阶乘。这道题就是考察你考没考虑大数问题,如何避免它。 我能想到的就是用数组去实现,然后写了一下代码。但是当i的值很大,接近Max_value时的情况还没有考虑到。 直接看代码:mul进行数组每一位的阶乘,carry()用来对数组的每一位进位,pos记录当前的数组有效 阅读全文
posted @ 2019-03-26 10:49 codelzc 阅读(300) 评论(0) 推荐(0)
摘要:今天鹅厂店面,最后问了一个ip地址字符串和整数间无损转化的问题,晚上有时间了手撸了一下代码。 阅读全文
posted @ 2019-03-21 18:58 codelzc 阅读(575) 评论(0) 推荐(0)
摘要:KMP算法匹配字符串 阅读全文
posted @ 2019-03-19 22:08 codelzc 阅读(168) 评论(0) 推荐(0)
摘要:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 示例 2: TopK的问题,思路就是用堆来解决。 先以前K个元素构建一个大小为K的小顶堆,然后从K个元素之后,遍历从索引在K后面的元素,如果有大于小顶堆的堆顶元素 阅读全文
posted @ 2019-03-16 15:57 codelzc 阅读(2329) 评论(0) 推荐(0)
摘要:给定一个入栈的序列(1,2,3,4,5);求它所有可能的出栈序列。 思路:先求序列的全排列,再求全排列的同时,判断这个序列是不是出栈序列。 阅读全文
posted @ 2019-03-15 16:51 codelzc 阅读(1388) 评论(0) 推荐(0)
摘要:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路:这道题只说了是非 阅读全文
posted @ 2019-03-15 10:40 codelzc 阅读(144) 评论(0) 推荐(0)
摘要:package data_structure; class qNode{ E data; qNode next=null; public qNode(E data){ this.data=data; } } public class ListQueue { private qNode head=null; private q... 阅读全文
posted @ 2019-03-14 17:10 codelzc 阅读(141) 评论(0) 推荐(0)
摘要:Git是世界上目前最先进的分布式版本控制系统。 工作原理图: Workspace工作区,Index暂存区,Repository本地仓库区,Remote远程仓库。 SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中 阅读全文
posted @ 2019-03-14 15:35 codelzc 阅读(2277) 评论(0) 推荐(0)
摘要:package data_structure; class Node{ Node next=null; E data; public Node(E data){ this.data=data; } } public class ListStack { private Node top=null; public void push(... 阅读全文
posted @ 2019-03-14 14:11 codelzc 阅读(311) 评论(0) 推荐(1)
摘要:package data_structure; import java.util.Arrays; public class ArrayStack { private Object []arrayStack; private int size; public ArrayStack(){ arrayStack=new Object[10]; } ... 阅读全文
posted @ 2019-03-14 14:10 codelzc 阅读(166) 评论(0) 推荐(0)
摘要:输入密码闪退是因为后台Mysql服务没有启动。 解决办法:我的电脑,右键管理,服务,查看服务里面Mysql是否在运行。如果没有在运行那么可以右键启动,最好属性中设置为自动启动。 阅读全文
posted @ 2019-03-13 19:06 codelzc 阅读(2375) 评论(0) 推荐(0)
摘要:数据库的三大设计范式:(首先范式设计的越详细,对于某些实际操作可能更好,但是不一定都是好处) 第一范式1NF: 数据表中的所有字段都是不可分割的原子值。 从上图看出,address字段实际是可以划分的,不满足第一范式的要求。所以可以对address字段再细分成 countruy+privence+c 阅读全文
posted @ 2019-03-13 15:02 codelzc 阅读(208) 评论(0) 推荐(0)
摘要:观察者模式是使用频率最高的设计模式之一,它用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。在模式中,发生改变的为被观察者或目标,作出反应的为观察者。在观察者之间是没有任何相互关系的,可以根据需要增删观察者,使得系统易于扩展。 抽象目标: 具体目标类 阅读全文
posted @ 2019-03-11 13:53 codelzc 阅读(248) 评论(0) 推荐(0)
摘要:建造者模式: 也叫生成器模式。用来隐藏复合对象的创建过程,他把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。 总结一句就是封装一个对象的构造过程,并允许按步骤构造。 产品: 建造者接口 具体建造者类(实现建造者接口): 指挥具体建造者的设计师: 客户端程序: 阅读全文
posted @ 2019-03-10 16:10 codelzc 阅读(400) 评论(0) 推荐(0)
摘要:抽象工厂模式是所有形态工厂模式中主最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端不必制定产品的具体类型的情况下,能够创建多个产品族的产品对象。 模式中包含的角色及其职责: 1.抽象工厂角色 抽象工厂模式的核心,包含对多个产品结构的声明,任何工厂类都必须实现这个接口。 2.具 阅读全文
posted @ 2019-03-10 13:31 codelzc 阅读(279) 评论(0) 推荐(0)
摘要:工厂方法模式被称为多态工厂模式,属于创建型模式。工厂模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中,核心工厂类不再负责产品的创建,这样核心类就成了一个抽象工厂的角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂模式可以是系统在不修改具体工厂角色的情况下 阅读全文
posted @ 2019-03-10 11:37 codelzc 阅读(223) 评论(0) 推荐(0)
摘要:Java的编译和平台独立性 首先Java是平台独立性语言(C/C++就不是,java一次编译在各个平台上都能执行),这关键就在它的"字节码"和JVM机制。Java程序编译后不是直接生成硬件平台的可执行代码,而是生成.class的字节码文件,再交由JVM翻译成对应硬件平台可执行的代码。(也就是说.ja 阅读全文
posted @ 2019-03-08 11:22 codelzc 阅读(5196) 评论(1) 推荐(0)
摘要:将待排序的序列构造成一个大顶堆(从大到小排要构造成小顶堆)。此时,整个序列的最大值就是堆顶的根节点,将他和末尾元素交换,然后将剩余的length-1个节点序列重新构造成新的堆。重复执行,便能得到一个有序序列。 阅读全文
posted @ 2019-03-03 10:45 codelzc 阅读(2673) 评论(0) 推荐(1)
摘要:package sort; public class QuickSort { static void qsort(int []a,int low,int high){ int pivot; while(low>1; /*前中后三点三数取中,让a[low]为中间值*/ if(a[low]>a[high]) ... 阅读全文
posted @ 2019-03-02 21:40 codelzc 阅读(224) 评论(0) 推荐(0)
摘要:非递归版 待完善中... 阅读全文
posted @ 2019-03-02 21:07 codelzc 阅读(199) 评论(0) 推荐(0)