自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

好谋而寡断的皮皮虾的博客

学会的东西只有自己能写出来才是你的

  • 博客(144)
  • 资源 (4)
  • 收藏
  • 关注

原创 【x度你能做点人事嘛】

混成这样是有道理的

2022-11-16 21:34:22 134 1

原创 lambda-1.8

1 统计金额汇总ArrayList bigDecimals = Lists.newArrayList(new BigDecimal(“21”),new BigDecimal(“22”));BigDecimal reduce = bigDecimals.stream().reduce(BigDecimal.ZERO,BigDecimal::add);

2021-11-05 18:20:15 141

原创 上硅谷mysql笔记基础视频03笔记

原则1 所选择的类型越简单越好,能保存数字的类型越小越好;2 较短的文本: char varchar(M)M:最多的字符数char:固定的长度;varchar:可变的长度;har:性能高:固定使用varchar:变化比较大;节省空间;binary:保存二进制;enum:枚举类型;日期类型date:保存日期没有时间datetime:和date相反;8字节;timestamp:时间戳;市区有影响;约束1一种限制,为了保证表中数据的准确和可靠性;2 防止重复;六大约束not

2021-10-10 19:38:40 134

原创 mysql冷门

1 SELECT@@tx_isolation; 查看mysql的默认隔离级别;2 select * from user where username=“silly” or ‘1’=‘1’ 注入攻击;1 insert ignore当出现主键或唯一索引重复之后,插入会失败,但不会报错,会忽略此次插入用法:#id为主键insert into user(id,name,age)values(1,"小华",21)#由于主键冲突,这个插入将会被忽略insert ignore into user(id,

2021-10-10 19:35:24 103

原创 mysql-lock笔记

1 并发下,锁表不好2 数据的备份,恢复不希望变动,加锁,双刃剑3 协调多个进程的一种机制,下单,抢购,加锁,对资源进行保护4 锁的分类:读和写,表和行锁,5 读是共享的不会相互影响的,屏幕共享,写是排他的,唯我独尊;6 表锁:开销小,加锁快7 show open tables:查看是否加锁;8 lock table a read,b write;9 unlock tables;10 lock table a read;读锁是共享的11 加了读锁是不可以修改的,自己也不可以修改12 自

2021-10-10 19:34:28 56

原创 JUC

1 多线程的开销大,涉及很多的问题,JUC的concurrent并发包,加锁的性能很高,2 volatile:内存可见性,多个线程操作共享数据的时候,内存不可见,及时的刷新缓存,修饰后不能重排序,3 i++:分为读改写,...

2021-10-05 16:45:03 76

原创 线程安全

1 什么是线程安全?“线程安全”也不是指线程的安全,而是指内存的安全。为什么如此说呢?这和操作系统有关。目前主流操作系统都是多任务的,即多个进程同时运行。为了保证安全,每个进程只能访问分配给自己的内存空间,而不能访问别的进程的,这是由操作系统保障的。在每个进程的内存空间中都会有一块特殊的公共区域,通常称为堆(内存)。进程内的所有线程都可以访问到该区域,这就是造成问题的潜在原因。假设某个线程把数据处理到一半,觉得很累,就去休息了一会,回来准备接着处理,却发现数据已经被修改了,不是自己离开时的样子了。可能被其它

2021-10-05 16:44:16 70

原创 java中的语法糖

1 糖块二、 泛型2 糖块一、 switch 支持 String 与枚举3 糖块三、 自动装箱与拆箱4 糖块四 、 方法变长参数5 糖块五 、 枚举6 糖块六 、 内部类7 糖块七 、条件编译8 糖块八 、 断言9 糖块九 、 数值字面量在java 7中,数值字面量,不管是整数还是浮点数,都允许在数字之间插入任意多个下划线。这些下划线不会对字面量的数值产生影响,目的就是方便阅读。public class Test {public static void main(String… arg

2021-10-03 22:55:26 86

原创 微服务架构概念笔记

1 一堆技术的集合,最常见和最高频的2 电商,直播,o2o都是分布式的架构,单机部署已经过时;3 艺多不压身,用进废退;4 面试:第一:项目遇到的坑?cloud和boot面试的标配;5 微服务概述:架构风格,提倡单一的应用程序划分一组小的服务;6 分布式:订单,积分,注册…全部分开,根据业务拆分,可以独立的数据库,专业的事情专业的人做,专一,防止传染,划分模块,相互拆分,通过接口交互,划分小的服务,每一服务单一的进程,–每个服务互相独立,降低耦合,合成微小的进程,独立的部署,在容器里面,小单间;互

2021-10-03 22:52:38 85

原创 算法中的各种O

1 不仅仅用于表示时间复杂度,也用于表示空间复杂度。O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。如下O后面的括号中有一个函数,指明某个算法的耗时与数据增长量之间的关系。其中的n代表输入数据的量。这里的log是以2为底的1 O(1)就是最低的时空复杂度了,也就是耗时/耗空间与输入数据大小无关,无论输入数据增大多少倍,耗时/耗空间都不变。 哈希算法就是典型的O(1)时间复杂度,无论数据规模多大,都可以在一次计算后找到目标(不考虑冲突的话),冲突的

2021-10-03 22:51:11 350

原创 前后段接口联调

1 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。2 前端还可以自己根据api mock自己的数据,3 需要由前后端工程师共同定义接口,编写接口

2021-10-02 15:22:44 338

原创 上硅谷mysql笔记基础视频03笔记

原则1 所选择的类型越简单越好,能保存数字的类型越小越好;2 较短的文本: char varchar(M)M:最多的字符数char:固定的长度;varchar:可变的长度;har:性能高:固定使用varchar:变化比较大;节省空间;binary:保存二进制;enum:枚举类型;日期类型date:保存日期没有时间datetime:和date相反;8字节;timestamp:时间戳;市区有影响;约束1一种限制,为了保证表中数据的准确和可靠性;2 防止重复;六大约束not

2021-09-21 15:13:31 58

原创 项目中的mysql问题

1 UNIQUE KEY loginname (loginname)什么鬼??2 tinyint和布尔?MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1),2 MySQL里有四个常量:true,false,TRUE,FALSE,它们分别代表1,0,1,0,3 true就是1,“true”放入map网数据库进行插入4 没有配置包的别名,要权限定类名...

2021-09-21 15:02:33 45

原创 2021--redis面试

1 什么是缓存雪崩?–首先缓存作用:第一:缓存查询速度比查询数据库快;第二:分担了部分请求,支持更高的并发;雪崩:原因一:Redis挂掉了,请求全部走数据库。二:对缓存数据设置相同的过期时间,导致某段时间内缓存失效,请求全部走数据库。危害:缓存雪崩如果发生了,很可能就把我们的数据库搞垮,导致整个服务瘫痪!2 雪崩的结局方案:一:在缓存的时候给过期时间加上一个随机值,这样就会大幅度的减少缓存在同一时间过期。其他:对于“Redis挂掉了,请求全部走数据库”这种情况,我们可以有以下的思路:事发前:实现R

2021-09-21 14:56:02 61

原创 2019-linux笔记

1 ls -a显示隐藏的文件,-L列出文件的详细信息,2 mv a /emp/移动文件到这个目录的下面,mv a b将a命名为b,3 rm [选项] 文件 | 删除文件-r 删除文件夹-f 删除不提示-i 删除提示-v 详细显示进行步骤4 touch [选项] 文件 | 创建空文件或更新文件时间5 cd 改变当前目录:返回上次目录… :返回上层目录回车 :返回主目录/ :根目录**6 pwd查看当前的路径7 9.mkdir [选项] 目录… | 创建新目录-p

2021-09-21 14:51:33 33

原创 linux好处和安装jdk

1.获取java相关版本:yum -y list java*2.下载需要的jdk:yum install java-1.8.0-openjdk.x86_64linux优点1 window安装软件需要重启!linux不用,

2021-09-21 14:50:29 106

原创 activeMQ

1 jms:两个应用(消息服务应用接口!),分布系统通信,仅仅是接口,类似webservice调用,很多的实现厂商,2 消息服务:两个应用之间通信,比如注册用户和发送短信,3 之前while(true){}进行状态的监听,每隔一段时间,现在是mq通知,后者更好!!!4 被动的消息接受,也可以主动!5 消息生产者1 只是一个接口,没有实现,2 activeMQ/rabbitMQ类似,apache出品的,实现了jms接口,通知放到队列里面,activeMQ自动的发送到第二个应用,通过中介,A角色叫做

2021-09-21 14:48:37 74

原创 微服务架构--笔记

1 一堆技术的集合,最常见和最高频的2 电商,直播,o2o都是分布式的架构,单机部署已经过时;3 艺多不压身,用进废退;4 面试:第一:项目遇到的坑?cloud和boot面试的标配;5 微服务概述:架构风格,提倡单一的应用程序划分一组小的服务;6 分布式:订单,积分,注册…全部分开,根据业务拆分,可以独立的数据库,专业的事情专业的人做,专一,防止传染,划分模块,相互拆分,通过接口交互,划分小的服务,每一服务单一的进程,–每个服务互相独立,降低耦合,合成微小的进程,独立的部署,在容器里面,小单间;互

2021-09-21 14:42:07 111

原创 mybatisplus--学习笔记

1 简化开发工作,只做增加不做变化,是一个增强的工具包2 开发者baomidou,和mybatis配合3 get started:快速的开始4 不用写crud的方法了,基础baseMapper;baseMapper接口:无需编写mapper.xml,sql自动的编写好了5 底层是大量的泛型:传入实体,6 mismatch:不匹配,需要制定组件策略,四中组件策略,自增的…7 @TableId(value=“id”)如果数据库和实体类i的字段一样的化可以省略的,8 mybatis-plus默认用一

2021-09-21 14:41:21 64

原创 核心知识之一--面试总结

1 方法上锁,就变成单线程啦,所有的请求都会排队,不建议方法上锁;–双重同步锁可取;–因为第一次是咧话之后,后面的请求都不会进入同步代码快啦,效率提升!2 resouurces就是classpath;配置就好啦;3 /只能匹配/a/b不能匹配/a/b/c.jsp,然而/星就可以啦;都可以处理,包含后缀型的,4 spring里面的/和/星的区别???5 建表的时候自动,默认值可以填写now()数据库表设计的规范1 每隔表都应该有自己的主键2 字段尽量定义为非空,not null,因为非空的话,需

2021-09-21 14:33:10 64

原创 常用java类

常用java类库1.Runtime类jvm虚拟机注册一个勾子,当虚拟机要关闭时,会执行预先注册的线程任务。Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { try { logger.info("## stop the canal client"); clientTes

2021-09-21 14:26:50 66

原创 为啥离职啊你?

1 为啥离职?是选择的不慎重,导致自己的能力和选择这个岗位不是很匹配,对行业不感兴趣,面试工作内容与实际工作内容不一致等。企业当时描述的内容不符,与自己的职业规划不匹配,为了及时止损才提早结束的试用期。及时止损是很重要的, 对双方都有好处。...

2021-09-12 23:55:16 38

原创 Z--建表的规范

数据库的三泛式1 对属性的原子型约束,要求不可再分解,第二:对记录的唯一性约束,要求记录有唯一的标识,及实体的唯一性,第三:对字段冗余的约束,及任何的字段不能由其他字段派生而来,要求字段没有冗余!评价:冗余不一定有坏处,有的时候为了提高效率,必须降低泛是的标准:增加字段,运行冗余!主键的取值问题:尽量选用无意义的字符串,采用自增+1,也可以物理一样的字段名或者字段的组合,但是前者要远远的好于后者!当pk时字段名的组合的时候,组合的字段不宜太多,原因:多了索引占用的空间大,而且速度也慢;1 整数代

2021-09-12 23:49:24 72

原创 2019-索引

1 Mysql选用B+树这种数据结构作为索引,可以提高查询索引时的磁盘IO效率,并且可以提高范围查询的效率,并且B+树里的元素也是有序的。1. 什么是索引?“索引(在MySQL中也叫“键key”)是存储引擎快速找到记录的一种数据结构。”——《高性能MySQL》我们需要知道索引其实是一种数据结构,其功能是帮助我们快速匹配查找到需要的数据行,是数据库性能优化最常用的工具之一。其作用相当于超市里的导购员、书本里的目录。2. 索引类型可以使用SHOW INDEX FROM table_name;查看索引

2021-09-12 23:42:52 141

原创 2019-how2j

1 SELECT * from hero LIMIT 0,2–分页2 update hero set hp = 818 where id != 1–修改4 – 请用一条Sql语句查处分数大于80的学生SELECT DISTINCT NAME FROM test WHERE fenshu>80;5 过滤表中重复数据。SELECT DISTINCT * FROM exam;6 查找有五名及以上 student 的 class。sqlSELECTclassFROMcoursesGROU

2021-09-12 23:36:51 74

原创 2019-CMD-MySQL

1 mysql -u root -proot:连接cmd的服务器,记住-p紧接着密码!不要空格!2 遇到->的错如可以\c重新回退到之前的状态!3 show databases;:用于查看mysql服务器中的数据库情况(会罗列出mysql中的所有数据库的信息)use databses;:选择使用的默认数据库;show tables;:查看默认数据库中的表情况(罗列所有表信息)4 备份数据库信息:进入命令行:mysqldump -u root -p test > E:aa.sql 然后输

2021-09-12 23:33:47 49

原创 mysql常识

总结:1、在速度上,一般来说,drop> truncate > delete。2、在使用drop和truncate时一定要注意,虽然可以恢复,但为了减少麻烦,还是要慎重。3、如果想删除部分数据用delete,注意带上where子句,回滚段要足够大;如果想删除表,当然用drop;如果想保留表而将所有数据删除,如果和事务无关,用truncate即可;如果和事务有关,或者想触发trigger,还是用delete;如果是整理表内部的碎片,可以用truncate跟上reuse stroage

2021-09-12 23:33:03 39

原创 牛客网的JDBC总结

1 Statement 每次执行sql语句,数据库都要执行sql语句的编译 ,最好用于仅执行一次查询并返回结果的情形,效率高于PreparedStatement.2 PreparedStatement是预编译的,使用PreparedStatement有几个好处a. 在执行可变参数的一条SQL时,PreparedStatement比Statement的效率高,因为DBMS预编译一条SQL当然会比多次编译一条SQL的效率要高。b. 安全性好,有效防止Sql注入等问题。c. 对于多次重复执行的语句,使用

2021-09-12 23:31:41 56

原创 spring事务失效的八种情况

事务失效的原因1 引擎选错,mysalm引擎不支持事务2 没有被 Spring 管理 : 如下面例子所示:// @Servicepublic class OrderServiceImpl implements OrderService {@Transactionalpublic void updateOrder(Order order) {// update order}}如果此时把 @Service 注解注释掉,这个类就不会被加载成一个 Bean,那这个类就不会被 Spring 管

2021-09-05 14:13:28 382

原创 mysql不走索引的情况

1 EXPLAIN select * from sys_user where user_id=1 or name=“刘德华”; 不走索引;2 在索引列上使用mysql的内置函数,索引失效。3 对索引列运算(如,+、-、*、/),索引失效4 索引字段上使用(!= 或者 < >,not in)时,可能会导致索引失效。5 索引字段上使用is null, is not null,可能导致索引失效。6 左连接查询或者右连接查询查询关联的字段编码格式不一样,可能导致索引失效7 mysql

2021-09-05 14:12:44 1344

原创 线程安全

1 什么是线程安全?“线程安全”也不是指线程的安全,而是指内存的安全。为什么如此说呢?这和操作系统有关。目前主流操作系统都是多任务的,即多个进程同时运行。为了保证安全,每个进程只能访问分配给自己的内存空间,而不能访问别的进程的,这是由操作系统保障的。在每个进程的内存空间中都会有一块特殊的公共区域,通常称为堆(内存)。进程内的所有线程都可以访问到该区域,这就是造成问题的潜在原因。假设某个线程把数据处理到一半,觉得很累,就去休息了一会,回来准备接着处理,却发现数据已经被修改了,不是自己离开时的样子了。可能被其它

2021-09-05 14:04:05 55

原创 java优化

1 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。2.尽量避免随意使用静态变量当某个对象被定义为static变量所引用,那么GC通常是不会回收这个对象所占有的内存,如public class A{priva

2021-09-05 13:48:12 88

原创 面试高频

1 Java基础知识,如集合类、IO、泛型、等。JVM底层知识,如类加载机制、GC、JVM内存结构等。Java并发编程知识,如Java内存模型、并发包、线程池、netty等。开发框架知识,如Spring、mybatis、docker、springboot、springmvc等。分布式相关知识,如CAP理论、分布式锁、分布式事务、Zookeeper等。其他基础知识,编程语言、网络方面、数据库、数据结构和算法。中间件相关知识,如Redis、rabbitMQ、Dubbo等。服务器相关知识,如tomc

2021-09-05 13:47:05 69

原创 如何有效的谈薪资

1 打听工资的范围,心里有数,2 了解同等公司范围的薪资,猎头,熟人,打听公司的缺人的紧急程度,职位的紧急程度,如果紧急可以狮子大开口!!!3 了解他们是否紧急?是否关注你的入职世间,如果多次问你时间,就是紧急4 亮出自己的另一个offer大杀招!另一个offer对少那个!水涨船高,见到更多的offer...

2021-09-05 13:46:09 105

原创 学习的方法

1 其实工作本质上就是解决问题,而 Google 本质上就是帮你解决问题,实际工作中 90% 的问题都可以通过 Google 解决,所以一定要会使用 Google,而使用 Google 需要你满足以下条件:1、要会科学上网;2、要用英文关键字进行搜索;3、搜到的结果中有 Stack Overflow 优先查看;而 GitHub 则主要在于搜索一些常用的第三方开源库,来帮助你快速开发,不用重复造轮子。除此之外,更是新手学习的最好资料。这上面有各种全球大牛写的开源项目,难度有深有浅,你的代码写的很烂,

2021-09-05 11:53:02 34

原创 软件测试

1 软件测试是为了发现错误而执行程序的过程。测试要以查找错误为中心,而不是为了演示软件的正确功能,不是为了评估软件或改正错误。2 软件测试发现了错误,然后就改呗,保证良好的用户体验就行了3 测试人员要坚持原则,缺陷未修复完坚决不予通过。请判断这句话的正确与否。???1、完全影响软件的正常运行或者影响客户的正常体验。这种当然不能予以通过2、不影响产品运行及客户正常体验且此软件急于使用以公司利益为出发,应予以通过。但在时间不紧急的情况下应不予通过。一个好的测试人员应该有很好的情况分析能力,并且要有担当

2021-09-05 11:48:24 3473

原创 javaee中的一些坑

1 多态:私有的方法子类无法继承,不存在覆盖的问题;2 静态方法无法被覆盖,无法实现多态

2021-09-05 11:47:31 36

原创 牛客网中的构造函数笔记大全

构造器的名字必须和类名相同,而匿名内部类没有类名,所有不可以有构造器1 构造方法不能用对象调用;A:构造方法概述和作用,给对象的数据(属性)进行初始化 B:构造方法格式特点a:方法名与类名相同(大小也要与类名一致)b:没有返回值类型,连void都没有c:没有具体的返回值return;-----重载:方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表,系统默认创造一个无参数的,我们创建系统就不提供了!1 可以重载,和类名相同,this()才是调用构造函数的第一条语句,this是不需要的,

2021-09-05 11:46:37 50

原创 jackson常用注解

1 Json解析工具Jackson的注解@JsonIgnoreProperties此注解是类注解,作用是json序列化时将Java bean中的一些属性忽略掉,序列化和反序列化都受影响。@JsonIgnore此注解用于属性或者方法上(最好是属性上),作用和上面的@JsonIgnoreProperties一样。@JsonFormat此注解用于属性或者方法上(最好是属性上),可以方便的把Date类型直接转化为我们想要的模式,比如@JsonFormat(pattern = “yyyy-MM-dd H

2021-08-29 13:40:51 348

原创 java序列化

1 Java序列化对于一个存在Java虚拟机中的对象来说,其内部的状态只是保存在内存中。JVM退出之后,内存资源也就被释放,Java对象的内部状态也就丢失了。而在很多情况下,对象内部状态是需要被持久化的,将运行中的对象状态保存下来(最直接的方式就是保存到文件系统中),在需要的时候可以还原,即使是在Java虚拟机退出的情况下。对象序列化机制是Java内建的一种对象持久化方式,可以很容易实现在JVM中的活动对象与字节数组(流)之间进行转换,使用得Java对象可以被存储,可以被网络传输,在网络的一端将对象序

2021-08-29 13:40:21 212 1

软件开发经常用到的英语专业词汇

经常用到的Java开发术语言词汇,我都打印了不错,,,,,,

2018-06-20

详细的在线电商数据库详细设计

详细的大型电商数据库设计,来自某平台的收费课程,具体的数据可设计十分详细,注释清晰

2018-06-20

intellij快捷键

辛辛苦苦整理的intellij快捷键,我都试过了,很好用,提高开发效率,走向人生的巅峰,哈哈哈哈哈哈哈哈哈!

2018-06-11

java枚举类型优秀源代码

javaenum源代码

2017-08-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除