- 博客(52)
- 问答 (1)
- 收藏
- 关注
转载 JAVA的网络
关于JAVA的网络,之前有个比喻形式的总结,分享给大家:例子:有一个养鸡的农场,里面养着来自各个农户(Thread)的鸡(Socket),每家农户都在农场中建立了自己的鸡舍(SocketChannel)1、BIO:Block IO,每个农户盯着自己的鸡舍,一旦有鸡下蛋,就去做捡蛋处理;2、NIO:No-Block IO-单Selector,农户们花钱请了一个饲养员(Selector),并告诉...
2019-11-15 11:12:22
304
1
转载 记随笔
DELETE a.*FROMEST_BIND_HOUSE_EQUALLY aLEFT JOIN EST_BIND_HOUSE_COST b ON a.house_id = b.house_idAND a.cost_value_id = b.cost_value_idwhere a.house_id = 3333 and a.cost_value_id = 11111AND b.hous...
2019-11-07 14:31:29
233
1
转载 MySQL防止重复插入相同记录 insert if not exists
转载地址:https://blog.youkuaiyun.com/u012400305/article/details/80857804实测有效
2019-11-02 11:29:22
440
原创 BM算法
BM(Boyer-Moore)算法,非常高效的字符串匹配算法。 BM算法的核心思想 我们把模式串和主串的匹配过程,看作模式串在主串中不停地往后滑动。当遇到不匹配的字符时,BF 算法和 RK 算法的做法是,模式串往后滑动一位,然后从...
2019-10-21 19:01:37
629
原创 字符串模式匹配:BF算法和RK算法
BF算法(暴力匹配算法,也叫朴素匹配算法).性能不是很高。 我们在主串中,检查起始位置分别是0.1.2…n-m且长度为n-m+1个子串,看有没有跟模式串匹配的。(在A中查找B,A就是主串,B就是模式串,且A>B)。最坏的时间复杂度为O(n*m), &nbs...
2019-10-13 23:07:38
259
原创 二叉树
叶子节点全都在最底层,除了叶子节点之外,每个节点都有左右两个子节点,这种二叉树就叫作满二叉树。 叶子节点都在最底下两层,最后一层的叶子节点都靠左排列,并且除了最后一层,其他层的节点个数都要达到最大,这种二叉树叫作完全二叉树。&nb...
2019-10-10 22:38:47
412
原创 哈希算法应用场景
哈希算法 将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。 优秀哈希算法需要具备的 &nb...
2019-09-28 10:35:11
1209
原创 停不下来使用的散列表
散列表(hash table) 散列思想:散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来,如果没有数组,就没有散列表。 散列表用的就是数组支持按照下标随机访问的时候,时间复杂度为O...
2019-09-24 23:30:13
97
原创 二分查找及变体
二分查找,如何用最胜内存的方式实现快速查找 针对有序数据集合的查找算法,二分查找。 问题:假设我们有1000万个整数数据,每个数据占8个字节,如...
2019-09-23 22:32:56
166
原创 面试时的经典排序总结
排序 实际开发中,为什么我们更倾向于使用插入排序而不是冒泡排序? 答:从代码实现上来看,冒泡排序的数据交换要比插入排序的数据移动要复杂,冒泡排序需要3个赋值操作,而插入排序只需要1个,所以在对相同数组进行排序时,冒泡排序的运行时...
2019-09-15 22:42:18
170
原创 链表建议
链表的经典应用场景:LRU缓存淘汰算法 常见的策略有:先进先出策略FIFO(First in,First out),最少使用策略LFU(Least Frequantly Used),最近最少使用策略LRU(Least Recentl...
2019-09-09 21:50:42
141
原创 java核心技术卷 -- 网络编程
1.4因特网地址 是用一串数字表示的主机地址,一个因特网地址是由4个字节组成,如果需要在主机名和因特网地址之间进行转换,就需要使用InetAddress类 只要主机操作系统支持IPV6格式的因特网地址,java.net包也支持&...
2019-09-07 20:29:20
369
原创 数组基本概念
线性表:线性表就是数据排成像一条线一样的结构,每个线性表上的数据最多只有前和后两个方向,有数组,链表,队列,栈等都是线性表结构 非线性表:比如二叉树,堆,图等,非线性表中,数据之间并不是简单的前后关系数组  ...
2019-09-05 20:41:17
164
原创 如何判断一个数是否为2的整数次幂
题目: 实现一个方法,来判断一个正整数是否是2的整数次幂,要求性能尽可能高 最优解:将十进制的数全部转为二进制的,这样转为2进制的时候,只有最高位...
2019-09-01 20:49:09
729
原创 无序数组排序后的最大相邻值
题目: 有一个无序整形数组,如何求出该数组排序后的任意两个相邻元素的最大差值,要求时间和空间复杂度尽可能低 解题思路: &n...
2019-09-01 20:05:41
230
原创 小灰算法--用栈实现队列
两个栈实现队列:import java.util.Stack;public class stackToqueue { private Stack<Integer> stackA = new Stack<Integer>(); private Stack<Int...
2019-08-20 21:32:32
131
原创 小灰算法--寻找全排列的下一个数
题目: 给出一个正整数,找出这个正整数所有数字全排列的下一个数 通俗点就是在一个整数所包含数字的全部组合中,找到一个大于且仅大于原数的新整数&nb...
2019-08-19 17:46:28
252
原创 小灰算法--删去k个数字后的最小值
题目: 给出一个整数,从该整数中去掉k个数字,要求剩下的数字形成的新整数尽可能小,应该如何选取去掉的数字。 其中整数的长度大于或者等于k,给出的整数...
2019-08-18 22:06:49
263
原创 小灰算法---如何实现大整数相加
题目: 给出两个很大的整数,要求实现程序求出两个整数之和。(使用long类型也装不下。) 解题思路:  ...
2019-08-14 21:04:33
251
原创 小灰算法--如何求解金矿问题
题目: 很久很久之前,有一个人拥有5座金矿,每座金矿的黄金储量不同,需要参与挖掘的人数也不同,例如有的黄金储量是500KG黄金,需要5个工人挖掘,(200kg/3人,300kg/4人,350kg/3人,400kg/5人,500kg/...
2019-08-13 22:32:05
555
原创 小灰算法--寻找缺失的整数
1.在一个无序数组中有99个不重复的正整数,范围是1-100,唯独缺少一个整数,怎么找出这个整数。 最佳解法: 先算出1+2+++100的值,然后依...
2019-08-11 22:45:05
439
原创 Effective java中对通用编程的建议
Effective java中对通用编程的建议 1.将局部变量的作用域最小化。 将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性。 要使局部变量的作用域最小化,最有力的办法就是在第一次要使用它的地方进...
2019-08-11 12:58:48
306
原创 Java核心技术卷2 -- 日期和时间
日期格式化和解析 DateTimeFormatter提供了三种用于打印时间/时期的格式器 预定义的格式器 Locale相关的格式器 &...
2019-08-10 09:34:02
142
原创 Effective java中对于枚举的建议
枚举和注解1.用enum代替int常量 以前的int枚举类型(public static final int APPLE_FUJI = 0)不具有安全性,也没有描述性。Int枚举是编译时常量,很难将int枚举常量转换为可打印的字符串,还有一种变体就是String类型的(淘汰)  ...
2019-08-08 21:49:23
374
转载 mysql常用函数
转载自https://www.jb51.net/article/91641.htm 控制流函数IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。...
2019-08-07 22:31:11
131
原创 Lambda方法总结
toList 把流中所有元素收集到List中示例:Menu.getMenus.stream().collect(Collectors.toList())toSet ...
2019-08-04 21:50:58
335
原创 Effective java中对于Lambda的建议
1.Lambda优先于匿名类 Lambda类似于匿名类的函数,但是更加简洁。 使用Lambda的时候,尽量删除所有Lambda参数的类型,除非它们存在能够让程序变得更加清晰但是如果一个计算不是自描述的,或者超过了几行,那就不要把...
2019-08-04 20:54:04
286
原创 Lambda杂记
流表面看起来和集合类似 1.流并不存储其元素,这些元素可能存储在底层的集合中,或者按需生成 2.流的操作不会修改其数据源 &...
2019-08-04 00:02:19
147
原创 mysql实战45讲学习笔记--19
19 为什么我只查一行的语句,也很慢建表语句,并且插入数据mysql> CREATE TABLE t (id int(11) NOT NULL,c int(11) DEFAULT NULL,PRIMARY KEY (id)) ENGINE=InnoDB;delimiter ;;create procedure idata()begindeclare i int;set...
2019-07-30 21:05:41
200
原创 mysql实战45将学习笔记--18
18 为什么这些sql语句逻辑相同,性能却差距巨大 案例一:条件字段函数操作 维护一个交易系统,建表语句如下mysql> CREATE TABLE tradelog (id int(11) NOT NULL,trade...
2019-07-29 22:10:30
124
原创 mysql实战45将学习笔记--17
17 如何正确地显示随机消息内存临时表 对于InnoDB表来说,执行全字段排序会减少磁盘访问,因此会被优先选择 在10000行记录中随机取出3个单词  ...
2019-07-28 23:56:20
200
原创 ,mysql实战45讲学习笔记--16
16 “Order by”是怎么工作的 全字段排序 MySQL会给每个线程分配一块内存用于排序,称为sort_buffer。 通常情况下,语...
2019-07-27 22:01:01
120
原创 mysql实战45讲学习笔记--15
15 日志和索引相关问题 1.在两阶段提交的不同瞬间,mysql如果发生异常重启,是怎样保证数据完整性的。 如果在图中A的地方,也就是写入redo log处于prepare阶段之后,写binlog之前,发生了崩溃(crash)...
2019-07-27 09:23:16
150
原创 mysql实战45讲学习笔记--14
14 count(*)这么慢,我该怎么办 Count()的实现方式 不同数据引擎,count()有不同实现方式 MyISAM引擎吧一个表的总行...
2019-07-25 19:47:26
137
原创 mysql实战45讲学习笔记--13
13 为什么表数据删掉一半,表文件大小不变? 数据库表的空间回收 InnoDB表包含两部分,即:表结构定义和数据,在mysql8.0以前,表结构是存在以.frm为后缀的文件里,而8.0版本,则已经允许把表结构定义放在系统数...
2019-07-24 21:02:21
199
原创 mysql实战45讲学习笔记--12
为什么我的mysql“抖”了一下 一条SQL语句,正常执行的时候特别快,但有时会突然变得特别慢,并且随机,持续时间短。 将对应的内存数据写入到磁盘的过程,叫做flush。 &nbs...
2019-07-23 21:18:49
171
转载 Java Lambda表达式学习
原文地址:https://blog.youkuaiyun.com/renfufei/article/details/24600507基本的Lambda循环// Old looping for (String player : players) { System.out.print(player + "; "); } System.out.println("");...
2019-07-22 22:33:21
128
空空如也
使用拦截器改变了时间格式
2020-01-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人