基础
文章平均质量分 57
nanaMasuda
这个作者很懒,什么都没留下…
展开
-
Java中int和Integer的==
对于基本类型来说,==比较的是值对于对象来说,==比较的是内存地址比较对象的值用equals从jdk1.5开始,有了“自动装箱的机制”,在byte-128到127范围内[整型的八位二进制的表示的范围为-128到127]如果存在了一个值,再创建相同的值的时候就不会重新创建,而是引用原来那个但是byte范围外还是会新建的对象Integer i=100,i转载 2016-09-24 17:05:25 · 572 阅读 · 0 评论 -
事务!!事务!!
事务四大特性(简称ACID) 1、原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行。2、一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致。3、隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的。4、持久性(Durability):对于原创 2016-08-30 16:33:15 · 630 阅读 · 0 评论 -
Java之Array相关
1.修改ArrayList中元素的值ArrayList()中存放的只是对象的引用,如果你将A存到ArrayList()然后修改A的值,ArrayList()中存放的值就会自动转变。如果有A的引用可以直接这么写 A.a=你需要的值也可以通过ArrayList().get(indexof(A))取得A的引用,然后修改属性2.Arrays.sort(arr)排好原创 2016-08-30 16:28:35 · 277 阅读 · 0 评论 -
Java的移位操作!!【左移和右移】
首先要明白一点,这里面所有的操作都是针对存储在计算机中中二进制的操作,那么就要知道,正数在计算机中是用二进制表示的,负数在计算机中使用补码表示的。左移位:左移操作时将运算数的二进制码整体左移指定位数,左移之后的空位用0补充右移位:>>,有符号的移位操作右移操作是将运算数的二进制码整体右移指定位数,右移之后的空位用符号位补充,如果是正数用0补充,负数用1补充。转载 2016-08-19 18:00:25 · 1099 阅读 · 0 评论 -
40个Java多线程问题总结
40个问题汇总1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然","会用"只是"知其然","为什么用"才是"知其所以然",只有达到"知其然知其所以然"的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个问题的看法:(1)发挥多核CPU的优势随着工业的进步,现在的笔记转载 2016-09-09 15:38:39 · 369 阅读 · 0 评论 -
BitSet---Java!!!
一些处理大数据类的算法中要用到bitmap思想Java中也有对应的实现,java.util.BitSet,完全是为这个量身定做的java类,大家用的时候要当心。另外BitSet是非线程安全的,需要外部同步。//创建一个具有10000000位的bitset 初始所有位的值为false java.util.BitSet bitSet = new java原创 2016-08-29 19:17:56 · 793 阅读 · 0 评论 -
PrintWriter类的碎碎念
public PrintWriter getWriter(Socket socket)throws IOException{ OutputStream socketOut=socket.getOutputStream(); return new PrintWriter(socketOut,true); }PrintWriter类是一个非常实用的输原创 2016-08-08 01:15:22 · 490 阅读 · 6 评论 -
BufferedReader和BufferedWriter
1. java.io.BufferedReader和java.io.BufferedWriter类各拥有8192字符的缓冲区。当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。如果缓冲区数据不足,才会再从文件中读取,使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储转载 2016-08-08 01:15:02 · 549 阅读 · 4 评论 -
子类重写父类的方法应注意的问题
若想实现一个合格重写方法,而不是重载,那么必须同时满足下面的要求!重写规则之一:重写方法不能比被重写方法限制有更严格的访问级别。(但是可以更广泛,比如父类方法是包访问权限,子类的重写方法是public访问权限。)比如:Object类有个toString()方法,开始重写这个方法的时候我们总容易忘记public修饰符,编译器当然不会放过任何教训我们的机会。出错转载 2016-09-24 15:52:42 · 785 阅读 · 0 评论 -
零碎的小知识-最迟开始时间&最早开始时间
工作M的最迟开始时间为第23天(23+5=28,第28天要开始另外的工作了,所以最晚必须第23天开始),最早开始时间为第16天,所以总时差有7天。最早完成工作M的时间是第21天,下次项目开始的最早是第25天,所以自由时差是25-21=4天。(自由时差,简称FF(Free Float),指一项工作在不影响其紧后工作最早开始时间的条件下,本工作可以利用的机动时间。 )总时差就是拖拖拖,可以原创 2016-09-07 12:04:12 · 14801 阅读 · 0 评论 -
Java正则表达式
正则表达式正则表达式的强大体现在它能定义字符集字符B字符B\xhh16进制值0xhh 所表示的字符\uhhhh16进制值0xhhhh 所表示的Unicode字符\tTab\n换行符\r回车符\f换页符原创 2016-09-05 18:35:42 · 442 阅读 · 0 评论 -
总线的控制方式
总线的三种控制方式:串行链接、定时查寻和独立请求。1.串行链接方式在串行链接方式下,总线使用权的分配通过三根控制线来实现:总线可用、总线请求和总线忙信号线所有的功能部件经过一条公共的总线请求信号线向总线控制器发出要求使用总线的请求控制器收到总线申请后,首先检查总线忙信号线,只有当总线处于空闲状态时,总线请求才能被总线控制器响应,此时,转载 2016-08-26 09:47:31 · 9931 阅读 · 0 评论 -
Java Map的一点知识点
Java MapMap是java中的接口,Map.Entry是Map的一个内部接口。Map提供了一些常用方法,如keySet()、entrySet()等方法。keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Ent原创 2016-08-25 17:53:18 · 474 阅读 · 0 评论 -
双向队列ArrayDeque类
ArrayDeque双向队列!!!Queue接口public abstract boolean add(E paramE);public abstract boolean offer(E paramE);public abstract E remove();public abstract E poll();Queue接口提供了以上几个方法转载 2016-09-17 01:26:05 · 448 阅读 · 0 评论 -
刷刷笔试题~!![二叉树]
1.将一棵有100个结点的完全二叉树从根这一层开始,开始进行层次遍历编号那么编号最小的叶节点的编号为(根节点为1) 51解析:度为0的节点个数为n0,度为1的个数为n1,度为2的个数为n2。n0=n2+1,n0+n1+n2=100,得到2n2+n1=99。由于是完全二叉树,所以度为1的有0个或者1个,公式不能有小数,所有度为2的有49个,度为1的有一个,叶子节点从原创 2016-08-30 16:31:13 · 1415 阅读 · 0 评论 -
折半查找
[例]在154个元素组成有序表进行二分法查找,可能的比较次数为(B,C,D)A.10B.8C.4D.1解析:折半查找过程可用二叉树来描述,把有序表中间位置上的结点作为树的根结点,左子表和右子表分别对应树的左子树和右子树。折半查找的过程就是走一条从根节点到被查结点的一条路径,比较的次数就是该路径中结点的个数,即,该结点在树中的层数。 所以该题可以转换为求有154个原创 2016-08-30 16:37:04 · 549 阅读 · 0 评论 -
Java---final&&static
一、final根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表原创 2016-08-29 14:04:08 · 482 阅读 · 0 评论 -
线程的sleep()方法和yield()方法的区别
① sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会;yield()方法只会给相同优先级或更高优先级的线程以运行的机会; ② 线程执行sleep()方法后转入阻塞(blocked)状态,而执行yield()方法后转入就绪(ready)状态;③ sleep()方法声明抛出InterruptedException,而yield()方法没有转载 2016-09-09 09:57:39 · 368 阅读 · 0 评论 -
strcat&strcpy&strncpy
strcat&strcpy&strncpystrcat将两个char类型链接char d[20]="GoldenGlobal"; char *s="View"; strcat(d,s);结果放在d中printf("%s",d);输出 d 为 GoldenGlobalView (中间无空格)d和s所指内存区域不可以重叠且d必须有足够的空间来容纳s的字符串。返回指向原创 2016-07-17 00:07:06 · 566 阅读 · 0 评论 -
杂杂的基础知识【Sizeof与Strlen&strcpy和memcpy&字符串常量和字符常量】
呃呃呃好多基础知识忘的都差不多了,再瞅瞅,顺便记录一下今天都学了什么对对,今天上午还看了下接口测试那面,哎哟~要继续努力呢Sizeof与Strlen的区别与联系一、sizeof sizeof(...)是运算符,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于原创 2016-07-16 23:20:17 · 1180 阅读 · 0 评论 -
线程安全
呃呃呃,之前要加一个Java高级交流群,进群之前的问题是"线程安全是什么" 还是,,这些上课学过之后没太好好实践,都忘得差不多了,再回顾回顾什么是线程安全?线程安全就是说多线程访问同一代码,不会产生不确定的结果。编写线程安全的代码是依靠线程同步线程安全的问题都是由全局变量及静态变量引起的线程的工作原理:jvm有一个main memory原创 2016-06-28 13:29:33 · 429 阅读 · 0 评论 -
Java实现单链表
还是,,因为一个电话面试,,里面的面试题,一点一点回顾以前的知识1.节点定义public class Node2.链表定义及操作public class OneWayLinkedList3.测试文件public class TestMainpublic class LinkedListEG { class Node { private Nod原创 2016-06-27 23:20:37 · 359 阅读 · 0 评论 -
Java内部类
为了写一道面试题,补了好多知识,哎~书还是要常看,东西要常用,要不总忘内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。内部类可以是静态static的,也可以设置为私有,外部类不能设置为私有注意:内部类只是一个编译时的概念,一旦编译成功,就会变成完全不同的两类。对于一个名为outer的外部类和其内部定义的名为inner的内部类。编译完成后出现ou原创 2016-06-27 22:16:56 · 292 阅读 · 0 评论 -
Java泛型
艾玛,老了,不用有的总是记不住,看到list后面的"public class GenericTest { public static void main(String[] args) { List list = new ArrayList(); list.add("qqyumidi"); list.add("corn");原创 2016-06-27 21:33:56 · 370 阅读 · 0 评论 -
Java三种判断字母大小写的方法
public class AaNum { public static void main(String[] args) { String s = new String("12HMa&%$k#d_34H3aH"); int max = 0; int min = 0; int other = 0; for (int i = 0; i < s.length(); i++) {转载 2016-06-10 11:43:33 · 9457 阅读 · 1 评论 -
桶排序***
桶排序(Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将阵列分到有限数量的桶子里。每个桶里再个别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的阵列内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。桶式排序不再原创 2016-05-31 20:21:05 · 559 阅读 · 0 评论 -
contac方法&广义表&子串&String类内存分配
concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。 注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串。如果自变量原创 2016-07-17 17:38:21 · 709 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象所以转载 2016-06-10 11:16:27 · 363 阅读 · 0 评论 -
对线程调度中Thread.sleep(0)的深入理解
在Java或者C#中,都会用到 Thread.Sleep()来使线程挂起一段时间。那么你有没有正确的理解这个方法的用法呢?思考下面这两个问题:1、假设现在是 2014-8-13 17:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2014-8-13 17:00:01.000 的时候,这个线程会不会被唤醒?2、代码中添加:Thread.Sle转载 2016-09-09 09:54:21 · 2461 阅读 · 1 评论 -
原码-反码-补码!!!
以下代码的执行结果是( D ).1234intmain(){ inti=-2147483648; returnprintf("%d,%d,%d,%d",~i,-i,1-i,-1-i);}A. 0,2147483648,21474原创 2016-08-28 09:03:22 · 816 阅读 · 0 评论 -
乱七八遭的编码总结~
前阵子写爬虫时被编码问题搞得好惨,然后就抽空好好看了一下,把总结的po上来吧unicode是一种字符编码,让每个字符和一个数字对应起来,仅此而已,至于这个数字如何存储它就不管了。utf8就是定义了如何具体存储这个编码数字的一种方法。不过2003年11月UTF-8被RFC 3629重新规范,只能使用原来Unicode定义的区域,U+0000到U+10FFFF,也就是说原创 2016-08-17 09:40:27 · 503 阅读 · 0 评论 -
Java中的sleep()和wait()的区别
1.对于sleep()方法,是属于Thread类中的。而wait()方法,则是属于Object类中的。2.最主要是sleep方法没有释放锁,而 wait 方法释放了锁,使得其他线程可以使用同步控制块或者方法。3.wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用(使用范围) synchronized(x){原创 2016-08-01 20:36:36 · 1462 阅读 · 0 评论 -
简单通俗地理解Hash哈希存储
先来了解一下Hash的基本思路:设要存储对象的个数为num, 那么我们就用len个内存单元来存储它们(len>=num); 以每个对象ki的关键字为自变量,用一个函数h(ki)来映射出ki的内存地址,也就是ki的下标,将ki对象的元素内容全部存入这个地址中就行了。这个就是Hash的基本思路。Hash为什么这么想呢?换言之,为什么要用一个函数来映射出它们的地址单元呢?This is转载 2016-08-01 18:30:32 · 13847 阅读 · 3 评论 -
呃呃呃,,,时间复杂度
基本的计算步骤 时间复杂度的定义 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度(O是数量级的符号 ),简称时间复杂度。根据定义,可以归纳原创 2016-05-31 08:54:50 · 590 阅读 · 0 评论