- 博客(32)
- 收藏
- 关注
原创 interface and abstract class
接口:接口里面默认是public的,域是static final 的实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法接口可以实现多重继承,可以继承多个接口,抽象类则不行。一般不用抽象类,有耦合度。一般用接口,趁机说出装饰着模式。抽象接口,
2016-09-27 10:53:07 293
转载 JAVA中的bitset类
1.java.util.BitSet可以按位存储。计算机中一个字节(byte)占8位(bit),我们java中数据至少按字节存储的,比如一个int占4个字节。如果遇到大的数据量,这样必然会需要很大存储空间和内存。如何减少数据占用存储空间和内存可以用算法解决。java.util.BitSet就提供了这样的算法。比如有一堆数字,需要存储,source=[3,5,6,9]
2016-09-27 10:52:37 304
翻译 J2EE FOR INTERVIEW
1.hibernate就是ORM框架(对象关系映射)。@Entity表示这是一个持久化类。@GeneratedValue(strategy=GenerationType.IDENTITY)主键生成策略。hibernate的配置文件。可以用.property,也可以用.xml文件来配置。 当你调用Configuration对象的configure()方法时,hibernate将自动加载这个
2016-09-27 10:50:45 502
原创 面试问题
择题部分考得比较基础,但是考的面比较广,数据结构,计算机网络,算法常识,概率题,C,C++,都有。大题如下:1.在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code)。请编写一个函数,使用递归方法生成N位的格雷码,并且保证这个函数的健壮性。递归都是n==1的情况,然后假设第k-1次完成了,然后推出第k次的。2. 有下图的题解,请用C/C+
2016-09-27 10:49:00 722
转载 question for write
Object类有什么方法呢?1. getClass() 2. hashCode() 3. equals() 4. toString() 5. clone() 6. wait() 7. notify() 8. notifyAll() 9. finalize()
2016-09-27 10:47:32 502
原创 question
输入一个正整数数组,将他们连接起来排成一个数,输出能排出的所有数字中最小的一个对于两个字符串重新定义其大小规则,比如:给定两个字符串s1,s2,如果s1+s2》s2+s1 那么s1>s2,反之s2>s1按照这个思路,给出算法如下:public int finMinCom(int []a) { int result; Liststrs=new ArrayList(
2016-09-27 10:46:48 353
翻译 剑指offer
1.丑数:只有2,3,5因子,那么意思就是说反复去除2,3,5,如果结果能化为1,那么就是丑数,这是法一,法二:int * p=new int 【参数】;用三个指针指向数组头,三个指针代表2,3,5,的,指针找第一个乘以2,后大于当前最后一个丑数的位置。找第一个乘以3后大于最后一个丑数的位置。最后这三个位置的乘以2,3,5.最小的就是下一个丑数。明白了吗?应该可以明白。2.
2016-09-27 10:46:28 323
原创 MYSQL学习记录
SELECT SUM(DECODE(SEX,'男',1,0)) 男人数 ,SUM(DECODE(SEX,'女',1,0)) 女人数 FROM e; select sum(decode(t.zhuangtai,'0',1,'3',1,0)) 查询,‘0’‘3’的个数。sum只统计为1 的个数,如果为‘0’‘3’那么就为1,然后sum统计1的个数//为什么只统计0,3,原因是门禁页
2016-09-27 10:46:13 508
原创 算法汇总
1、指针JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误2.多重继承 c++支持多重继承,这是c++的一个特征3.Java程序中所有的对象都是用new操作符建立在内存堆栈上,他认为内存管理太重要了。不应该由程序员去支配,c++认为内存关系太重要了,应该由程序员去支配。4.Java不支持操作符重载
2016-09-27 10:45:54 359
翻译 死锁
/** * 一个简单的死锁类* @author iStar * 当类的对象flag=1时(T1),先锁定O1,睡眠500毫秒,然后锁定O2;* 而T1在睡眠的时候另一个flag=0的对象(T2)线程启动,先锁定O2,睡眠500毫秒,等待T1释放O1;* T1睡眠结束后需要锁定O2才能继续执行,而此时O2已被T2锁定;* T2睡眠结束后需要锁定O1才能继续执行,而此时O1已被T1锁定;
2016-09-27 10:45:30 236
转载 mianshiti
String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 Strin
2016-08-27 00:47:43 428
翻译 JVM 笔记
1.程序计数器,每个线程都有自己的程序计数器。2.OutOfMemoryError简称OOM。3.虚拟机栈:经常有人把jvm分为堆和栈,这里的栈就是指虚拟机栈中的局部变量表部分。存基本类型,和引用。4.Native关键字是什么?是jni编程,别的编程语言嵌套在java里面。本地方法栈。就是5.java堆:内存管理时内存回收。放对象的。是线程共享的。上面三个是线程私有的。注意。6
2016-08-26 01:10:08 399
原创 project for interview
项目:工厂方法模式用到了吗:1.获取各个工地的气象,gzm,噪声扬尘。等待,用的是BIO,为什么不用NIO,或者AIO,因为并发数少,减少编程难度。用到了工厂方法模式。每个设备的设备号和设备的解析器是不一样的,所以允许子类做决定。乘机画出类图。首先第一个工厂方法模式:获取数据方法+work线程。然后第二个工厂方法模式里面是:实现获取数据方法+(获取ID+解析器)这两个是抽象方法。最后具
2016-08-24 22:38:34 298
原创 CETC15 WORK RECORD
1.更改jsp或者js后eclipse中的项目是不用重启的,如果刷新页面后的更改没生效,重启后也没反应,是缓存的问题。清理浏览器的缓存。2.SSO为什么第一个登陆的时候会报404,然后再url 栏里面重新输入后回车会正常显示,原因是配置文件里面有一个没有改过来,里面写的是#0-username/password,1-card,2-ca,3-one of 0,1,2loginKey=0
2016-08-24 15:56:47 910
原创 interview question
1.解释一下==号,他比较的是一个对象在内存中的地址值,比如2个字符串对象String s1 = new String("str");String s2 = new String("str");如果用==号比较,会返回false,因为创建了两个对象,他们在内存中地址的位置是不一样的。equals的情况比较复杂,它是java.lang.Object类中的一个方法。因为ja
2016-08-22 14:05:45 440
原创 项目间的循环依赖
这个错误问题是因为循环依赖,两个项目互相都有依赖关系,不会造成编译错误,只需要配置一下Eclipse把它降为Warning就可以了打开Windows>Preferences > Java > Compiler > Building > Build path problems > Circular dependencies 从下拉菜单把Error改成Warning
2016-08-18 16:39:35 503
转载 new/delete与malloc/free的区别
1、new 是c++中的操作符,malloc是c 中的一个函数2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数3、内存泄漏对于malloc或者new都可以检查出来的,区别在于new可以指明是那个文件的那一行,而malloc没有这些信息。4.new可以
2016-08-12 18:23:22 432
翻译 连续子数组的最大和
1 -2 3 10 8 7 -9和为负数直接不要了。从下一个开始没加一个都要比较最大值。保存最大值。这样for遍历一遍这个数组即可出结果。O(N)
2016-08-12 16:59:22 217
翻译 线程相关
1. 线程执行器:注意是什么?平时我们都是把runable放入thread 里面。缺点是:每一个runable都要有一个thread;创建太多的thread,也就是说创建太多的线程,系统负载过重。所以用线程执行器:这个就不用创建每一个thread了,只需要new出runable,然后放置到执行器里面执行。有三种方案2.第一种,s
2016-08-12 16:59:11 322
转载 MYSQL-
mysqld --initialize 先初始化data目录感谢这位同志.没有data文件夹和自己建立,datal里面的东西可以通过楼上几位的方法初始化得到,data再创建一个mysql,借着拷贝进去低版本的data文件夹的mysql目录到这个文件夹的东西就好了.
2016-08-08 01:27:05 450
翻译 新组件
1. CountDownLatch 组件: 创建CountDownLatch 类对象的时候,构造器里面传入一个 int 值,然后把这个对象传入不同的多个runable构造函数(同一个countdownlatch里面)里面,策略模式注入到里面的CountDownLatch 变量。几个runable对象里面的调用countdown方法,这几个runable正常执行,。几个runable里
2016-08-06 01:41:49 370
翻译 c语言深度解剖
1.引用就是起别名,int *&p;对指针的引用,什么意思?传入函数后这个p的值要改变,不是说他指向的内存里面的内容改变,是他本身改变,就是地址改变。要加&,为什么要加&,因为一维指针作为函数参数时候,传入的是一个副本,所以不能只是int *P,你传入 int *&P的时候,那么传入的就不是指针了。传入的是指针的引用。
2016-08-03 01:39:33 719
翻译 JAVA学习笔记
1.非守护线程:就是你手动创建的线程。2.Thread类里面有一些属性,id,name,priority属性,优先级属性,是1-10,其中1是最小优先级,10是最大优先级,一般不要修改优先级,当然你也可以改。Status属性,表示线程的状态,一共有六个线程状态。new,runnable,blocked,waiting,time waiting,terminaed3.
2016-07-30 21:18:14 911
原创 工具使用ECLIPSE
1.得到某个字符串的长度是多少,在debug的时候,比如 String r=???; 那么在2.选中某几个字符。比如,int a=b+c;那么选中b+c,右键watch。3.你可以在Expression视图里面写自己的表达式,比如你想看某个字符串的length,那么就用“s.length”,右边即可显示值。4.条件断点:在断点上右键breakpoint prorerty。 h
2016-07-30 20:34:07 431
原创 根据上排给出十个数,在其下排填出对应的十个数
给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数要求下排每个数都是先前上排那十个数在下排出现的次数。举个例子,上排数值: 0,1,2,3,4,5,6,7,8,9下排数值: 6,2,1,0,0,0,1,0,0,00在下排出现了6次,1在下排出现了2次,2在下排出现了1次,3在下排出现了0次。注意题目的意思,输入的不一定只是十个数0.1.2.3....
2015-06-25 14:23:03 377
原创 逆序数的个数利用归并排序递归解决
*注意命名规范,写程序,边界条件,、递归怎么写,假如为空的时候(或者只有一个的时候);然后做完左边,然后做完右边,然后处理左右边的结果。1.逆序对,int a[]int findTheReverse(int a[],int low ,int high){ int copy[]=new int [strlen(a)]; return findThe
2015-05-30 23:52:57 267
原创 判断一个链表有没有环,找出链表里面环的第一个入口点
1.hash。把每个节点的地址放到键值对里。hash地址即可。O(n)2.暴力3.快慢指针,这里说一下为什么慢指针进入环里面后还没走完一圈就会相遇,其实很好理解,快指针肯定会追上他,如果慢指针走上一圈了。那么快指针必然已经追上他了。慢的走S,快的走了2SS=a+x, 2S=S+nr 快的比慢的多跑n圈。S=nrnr=(n-1)r +r=S r
2015-05-29 01:43:37 725
转载 BackTravers Framework
int a[10];bool flag=false;int j=0;a[j]=1;while(true){ for(int i=0;i { if(a[i]==a[j]) {flag==ture;break;} } if(j==9&&flag==false){ ...
2015-05-27 02:23:33 232
原创 0(1)时间删除带头节点单链表指定节点。
给定头结点Phead,节点指针Pnode,O(1)常数时间删除该节点。通常需要遍历到Pnode的前一个节点。然后删除它。但这样的复杂度是O(n)1.把Pnode的下一个节点的内容覆盖Pnode节点的内容,然后删除下一个节点。O(1)2.有可能这种情况:Pnode指向的是最后一个节点,怎么办?这种情况只能从头到尾查找。O(n) 但是平均下来是O(1)的 略坑。 3.Phea
2015-05-27 01:56:59 366
原创 递归实现全排列
void print1ToMaxOfNDigits (int n) //打印1-n位最大的值。{ if(n==0) return ; char *number =new char [n+1]; number[n]='0'; for(int i=0;i { number[
2015-05-27 01:46:30 217
原创 写函数实现打印出1到最大的n位数,形参为n位数
1.循环必然溢出。2.考虑用字符串实现,模拟加法。3.void PrintMaxOfNDigite(int n){ char *number=new char[n+1]; number[n]="\0" ; memset(number ,'0',n); while( !
2015-05-27 00:31:07 302
原创 数值的整数次方(不考虑大数问题)
double compute(double base,int exponent) //name边界情况考虑:1.考虑base==0的情况。exponent=0,为正,为负。2.base为负的时候,不影响,取倒数即可。3.判断一个浮点数于0相等与否。怎么判断double compute(double base ,int exponent){
2015-05-27 00:05:48 250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人