- 博客(29)
- 收藏
- 关注
原创 java io之字符流和字节流的区别
字符流是jdk1.1后才增加的新功能,专门为了处理字符增加的流。在1.1之前都只有字节流,但是字节流处理字符不是很方便,中间需要调用很多方法,进行编解码。所以一般情况下需要文本操作时用字符流,其他情况用字节流。 所有的输入都是转换成字节流之后,然后在内存中变成字符流。所以一般建议使用字符流。但是遇到中文汉字,出现乱码的情况下,可以使用字...
2018-05-21 17:51:50 1166
原创 java io之输出字符流总结
1、writer writer是一个抽象类,是所有输出字符流的子类,里面主要包含了write(),append(),flush()和close()方法,write和append的作用大致一样,因为append()方法里面调用write写字符的,唯一一点不同的是:1.append可以添加null的字符串,输出为"null"2.而write会抛出空指针异常。 ...
2018-05-20 17:09:19 261
原创 java io之输入字符流总结
1、Reader Reader是所有输入字符流的父抽象类,Java几乎为每一个InputStream都设计了一个对应的Reader,比如如果你想直接读取文件里的字符,可以用FileReader来代替FileInputStream。BufferedReader也是一个装饰者模式的reader,接收一个Reader作为参数,从而对Reader提供缓存功能。 ...
2018-05-19 15:35:13 230
原创 java io之输出字节流总结
一、OutputStream 所有输出字节流的父抽象类,包括write(),flush(),close()等方法二、FileOutputStream 正常的文件输出字节流,每调用一次write(),可以写入文件一个字节或几个字节,直接对磁盘进行操作。三、ByteArrayOutputStream 先通过构造函...
2018-05-18 18:50:19 265
原创 java io之输入字节流总结
一、InputStream 所有输入字节流的父抽象类,包括read(),skip(),available(),close(),mark(),reset()等方法二、FileInputStream 正常的文件输入字节流,每调用一次read(),读取一个字节三、ByteArrayInputStream 字节数组输...
2018-05-18 00:34:12 253
原创 mysql幻读和不可重复读的区别
不可重复读是select同一个数据发现的到的结果跟刚才不一样。幻读是读取一堆数据发现忽然多了一个,就像自己养的一堆柯基莫名其妙多出来一只,刚才明明检查过没有这只的呀,是不是产生了幻觉!综上,不可重复读针对的是同一条数据,幻读针对的是一片数据。mysql默认的隔离级别是可重复读...
2018-05-17 21:01:53 6210 4
原创 mysql乐观锁和悲观锁的区别
乐观锁 顾名思义,乐观锁的想法很乐观,对数据库进行操作前一般认为此次操作不会产生冲突,因此操作时并不进行锁操作,等到操作结束时才判断是否冲突。 通常的实现方式是:对表的数据进行操作时,同时将数据表的版本字段取出,等到操作完毕进行提交时,将数据版本号与表内的数据版本号进行比较,如果相等,说明这段时间内没有别的事务对数据表进行操作,则将版本号...
2018-05-17 20:51:32 660
转载 java文件io之字符流和字节流
1、System.exit(int status) System.exit(int status)这个方法是用来结束当前正在运行中的java虚拟机。status是非零参数,那么表示是非正常退出。status是0表示正常退出。System.exit(status)不管status为何值都会退出程序。和return 相比有以下不同点:return是回到上一层,而System.exit...
2018-05-12 17:23:24 242
转载 动态规划之背包问题
看了很多背包问题,大家都是直接上公式,也不说公式怎么来的,所以刚开始看很难理解,这篇文章讲解的很详细,附上链接,对背包问题感兴趣的可以看一下:http://www.hawstein.com/posts/dp-knapsack.html...
2018-05-12 16:10:29 169
原创 动态规划和贪心算法的区别
1、贪心最经典的例子是找钱问题,某国钱币包含1、3、4元,如果要找6元,如何找钱会找的最少? 贪心的思想是每次都拿最大的,先拿4元,再拿一个1元,再拿一个1元,一共是三张。每次都拿最大的就是贪心,但实际上,只需要两张三元是最优解 所以说贪心算法不一定能得到最优解,贪心必须在一定条件下得到的才是最优解,比如我国钱币,1、5、10元,大家平时...
2018-05-12 15:30:06 4907
原创 java之File类总结
一、文件夹及文件目录的读取File f = new File("..."); //实例化file类对象1、创建文件:f.createNewFile();2、删除文件:f.delete();3、判断文件是否存在if(f.exists())4、创建文件夹:f.mkdir()5 、列出指定目录的全部文件: 1)、以字符串数组的形式返回:String str[] =...
2018-05-11 23:09:05 247
原创 面试知识点总结
网易:1、如果是覆盖索引,比如:sex,class,student覆盖索引,where后面只有sex,也会用到索引,类型是index(index索引的意思是不需要回聚簇索引查询,只需要在索引树中查询,所以速度通常比all快一点),当where后面是sex=...and class=...,或者是sex=...and student=...索引类型就是ref(ref类型索引的意思是:使用了索引,但...
2018-05-11 17:33:54 157
原创 java之HashMap和HashSet的遍历方法
今天去面试,面试官问到这个问题,发现自己用了这么久的HashMap和HashSet,竟然只勉强想到了一种方法,总结一下HashMap遍历方法:1、使用entrySetfor (Map.Entry<String, Integer> entry : map.entrySet()) { entry.getKey(); entry.getValu...
2018-05-09 18:17:44 860
转载 Linux常用命令
转载连接:https://blog.csdn.net/ljianhui/article/details/11100625/玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决不少的问题。然而每个人玩Linux的目的都不同,所以他们常...
2018-05-08 22:51:01 120
原创 java中try、cache、finally的执行顺序
1、当try和finally后有return时,会先执行try中的语句和return,然后执行finally中的语句和return,最后返回的是finally中的return语句。2、同理,catch同上 3、当try后有return而finally中没有时,会先执行try中的语句和return,并将return结果保存在临时域中(应该是函数栈),然后执行finally中的语句,然后再回到try中...
2018-05-06 01:09:01 2872
原创 java继承、多态,子类方法的重载和重写,父子类构造器的运行过程
一、多态1、多态的三个前提 1)、存在继承关系 2)、子类重写父类方法 3)、父类数据类型的引用指向子类对象2、多态成员访问的特点 Animal am = new Cat(); 1)、成员变量:编译看左边(父类),运行看左边(父类) 2)、成员方法:编译看左边(父类),运行看右边(子类) 3)、静态方法:编译...
2018-05-05 22:28:07 1184
原创 java之装箱拆箱、==和equals的区别
1、概念:装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。比如:Integer i =1; //会自动装箱,执行上面那句代码的时候,系统为我们执行了:Integer total = Integer.valueOf(99); int j = i; //会自动拆箱,执行上面那句代码的时候,系统为我们执行了: int totalp...
2018-05-05 18:31:05 238
原创 java之static的作用
java static的作用:找了两个网站博客写的很好,把上面的demo跑一遍就能够理解static的作用和运行顺序https://www.cnblogs.com/dotgua/p/6354151.html?utm_source=itdadao&utm_medium=referralhttps://blog.csdn.net/cbjcry/article/details/70154627详...
2018-05-05 15:54:57 7071
原创 java中&和&&,|和||的区别
1、判断语句中&和&&,都表示与运算。不同的是&&是两个语句中只要第一个不符合条件,就会直接标错,跳出判断,&是必须两个语句都判断完毕才判断是否对错。||是两个语句中只要第一个符合条件,就会直接标对,跳出判断,|是必须两个语句都判断完毕才判断是否至少有一个是对的2、 当他们进行运算的时候,&表示两个数先都变成二进制,然后两个数都...
2018-05-05 11:42:52 1482
转载 java HashMap jdk1.8相对于1.7的优点
1、resize()方法的改进:https://blog.csdn.net/aichuanwendang/article/details/533173512、扩容时JDK8使用高位与运算来得出扩容后此节点的index是index还是index+oldCapacity。3、红黑树的引入可以提高查询速度4、、JDK1.7是链表头插入方式:e.next = newTable[i],然后再newTable...
2018-05-02 00:10:54 406
原创 ArrayList和LinkedList的区别
1、ArrayList底层是数组实现,LinkedList底层是双向链表实现2、(1)ArrayList查询快,插入删除慢,因为数组的原因,查询通过index就能得到需要的数据,所以时间复杂度是O(1)。 插入操作分为两种情况:1)、在数组末尾插入:首先需要判断数组是否已满,没满的话直接在末尾赋值。满了的话需要进行扩容操作:新建一个容量更大的数组,使用Arrays.copyOf方法将...
2018-04-30 16:14:52 215
原创 JAVA基础知识----抽象类和接口的区别
1、接口可以继承接口2、接口内只能定义方法,不能写实现过程3、抽象类实现接口不一定要实现所有的接口方法4、抽象类继承抽象类不一定要实现所有抽象类的方法5、子类实现接口必须实现接口内的所有方法6、子类继承抽象类必须实现抽象类内所有未实现的方法...
2018-04-28 18:20:56 108
原创 sql语句group by找到最大值及对应的一条数据
mysql 5.7 (我不确定和版本有没有区别)这个发现简直太坑跌了,花了我一整天的时间才测出来了一句话,就是group by后面的字段相同的所有行,都会再用主键再进行一次从小到大的排序。比如:group by name字段,会将所有name="张三"的合并成一行,然后重点出现了!!!-----出现的这一行是所有name='张三'的行中,主键最小的一行,也就是group by进行分类后,会将每个...
2018-04-28 01:26:14 25639 4
转载 sql语句中一些函数的用法
一、group by:https://blog.csdn.net/hengji666/article/details/54924387二、group_conca和SUBSTRING_INDEX的使用:https://blog.csdn.net/u011280342/article/details/78285608三、group by 与having、order by 一起使用是要遵守一定原则的: ...
2018-04-25 20:34:43 313
转载 JetBrains全家桶激活码
转载地址:https://blog.csdn.net/usher_ou/article/details/77970172最近用edu邮箱申请了一个JetBrains针对学生免费的激活码。可以激活IntelliJ IDEA,WebStorm,PyCharm,PHPStorm等。。 有需要的小伙伴们可以拿去激活7WXOZVMK1E-eyJsaWNlbnNlSWQiOiI3V1hPWlZNSzFFIiw...
2018-04-21 15:15:45 2508 1
转载 索引优化explain解释
一、explain中type的解释学习:https://blog.csdn.net/dennis211/article/details/78170079二、explain中所有字段的解释说明:https://www.cnblogs.com/xiaoboluo768/p/5400990.html
2018-04-19 19:24:01 184
原创 数据库学习之索引的总结
一、mysql使用索引的查询过程 当查询语句里的where不包含索引或根据最左前缀匹配找不到的时候,数据库会根据主键索引顺序全表进行查找,找到对应的数据。查找的过程是在磁盘上进行磁盘I/O,这个过程是最消耗时间的,不过由于磁盘的预读取,消耗的时间会相对减少。 当查询的语句里的where后包含索引的时候,数据库首先会通过辅助索引(辅助索引只...
2018-04-19 19:21:44 592
转载 数据库索引学习之B+tree、B-tree和聚簇、非聚簇的理解
一、B树和B+树插入-分裂和删除的过程------https://www.cnblogs.com/George1994/p/7008732.html二、B+Tree比B-Tree的优点 数据库系统的设计者巧妙利用了磁盘预读原理,将一个节点的大小设为等于一个页,这样每个节点只需要一次I/O就可以完全载入。B-Tree中一次检索最多需要h-1次I/O(根节点常驻内存),渐进复杂度...
2018-04-18 16:45:37 516
转载 数据库学习之创建索引的注意事项
1、索引要建立在经常进行select操作的字段上。这是因为,如果这些列很少用到,那么有无索引并不能明显改变查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。2、索引要建立在值比较唯一的字段上。这样做才是发挥索引的最大效果。,比如主键的id字段,唯一的名字name字段等等。如果索引建立在唯一值比较少的字段,比如性别gender字段,寥寥无几的类别字段等,刚索引几乎没有任何意义...
2018-04-16 22:25:34 480
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人