自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 大名鼎鼎的Restful,你到底知道多少?

0.引言很多时候,大部分的人都是知道一个知识点,但是并不是理解这个知识点,今天我就来讲讲Restful,首先了解几个概念:REST:Representational State Transfer 表现层状态转化资源(Resources):REST全称是表述性状态转移,那究竟指的是什么的表述? 其实指的就是资源,资源是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的

2021-12-01 19:54:56 340

原创 RPC,你知道多少呢?

感觉近几年互联网行业卷的厉害,之前毕业面试的时候都是人均RPC,今天就带大家了解下RPC到底是什么?1.RPC?“RPC,就是Remote Procedure Call的简称呀,翻译成中文就是远程过程调用嘛”。2.本地过程调用?“是这样,远程过程调用,自然是相对于本地过程调用来说的嘛。”“本地过程调用,就好比你现在在家里,你要想洗碗,那你直接把碗放进洗碗机,打开洗碗机开关就可以洗了。这就叫本地过程调用。”“那远程过程调用嘛,那就是你现在不在家,跟姐妹们浪去了,突然发现碗还没洗,打了个.

2021-11-05 15:52:41 284

原创 【Java8】默认方法

为什么会出现默认方法?接口中出现默认方法,且类可以实现多接口的,那和抽象类有啥区别?多重实现的默认方法冲突怎么办?1.什么是默认方法,为什么要有默认方法?先上例子 一个接口A,Clazz类实现了接口A。public interface A { default void foo(){ System.out.println("Calling A.foo()"); }}public class Clazz implements A { public sta.

2021-11-03 14:22:34 121

原创 你真的懂peek方法嘛?

java 8 Stream中操作类型和peek的使用1.简介java 8 stream作为流式操作有两种操作类型,中间操作和终止操作。这两种有什么区别呢?Stream<String> stream = Stream.of("one", "two", "three","four"); stream.peek(System.out::println);上面的例子中,我们的本意是打印出Stream的值,但实际上没有任何输出。2.中间操作和终止操作?一个java 8的s.

2021-11-02 11:41:15 780

原创 项目中mysql的使用记录

记录一些常见的sql使用Tips取倒数第几条数据?LIMIT m,n : 表示从第m+1条开始,取n条数据;LIMIT n : 表示从第0条开始,取n条数据,是limit(0,n)的缩写。LIMIT 1 OFFSET 2:取出倒数第三条数据查找入职员工时间排名倒数第三的员工所有信息select * from employees order by hire_date desc LIMIT 1 OFFSET 2select * from employees order by hire_.

2021-10-27 14:42:31 76

原创 初识TarsCloud

官网:https://tars.tencent.com/base/tars_index/cn/index.htmlTarsCloud:Tars 是腾讯将其内部使用的微服务框架 TAF(Total Application Framework)多年的实践成果总结而成的开源项目,在腾讯内部有上百个产品使用,服务内部数千名 C++、Java、Golang、Node.Js 与 PHP 开发者。1.介绍Tars这个名字取自于电影"星际穿越"中的机器人,它是基于名字服务使用Tars协议的高性能RPC开发框架.

2021-10-26 18:22:36 353

原创 系统分层架构的全面解析

本文汇总了传统MVC架构、后端三层架构、阿里分层架构、DDD架构以及基于DDD架构的整洁架构和六边形架构。从前往后越来越复杂,其他也对应着软件工程的越来越复杂,架构模式也变的越来越复杂软件架构领域没有一招鲜吃遍天的功法,针对的不同的业务场景采用不同的架构,并且随着业务的发展,不断调整架构以适应业务的发展,以变(架构、技术组件、重构等)应不变(业务发展、用户体验、稳定性等)才是一个合格的软件工程师应追求的境界。1.为什么要分层?分层架构是将软件模块按照水平切分的方式分成多个层,一个系统由多层组成.

2021-10-26 14:53:12 11565 1

原创 ORM框架你了解多少?

1.什么是ORM?对象-关系映射(Object-Relational Mapping,简称ORM),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。2.

2021-10-25 18:42:55 4986

原创 降低数据库压力的方法

1.合理增加索引表索引可以加快对表中数据的检索速度,但是会降低表中数据的更新速度,所以增加表的索引一定控制在合理范围内,过多的索引不但不会降低数据库的压力,反而可能增大数据库的压力,表索引的建立一般要从具体业务场景出发,对于读多写少的场景,可以通过适当的增加索引来提高效率,对表的那些列建立索引?建立单独索引还是建立复合索引?要根据具体的业务场景来决定,建立索引之后可以针对索引对业务逻辑中使用的SQL进行优化,建立索引是最基础的手段,这里不错过多的介绍。2.数据截转一般情况下,业务中所处理的数据的都具有

2021-01-28 17:12:14 2366

原创 项目中使用多线程的场景

每次面试都被问到项目中哪些地方被用到了多线程,总结一下,希望对大家有用!一个业务逻辑有很多次的bai循环,每次循环之间没du有影响,比如验zhi证1万条url路径是否存dao在,正zhuan常情况要循环1万次,逐个去验证每一条URL,这样效率会很低,假设验证一条需要1分钟,总共就需要1万分钟,有点恐怖。这时可以用多线程,将1万条URL分成50等份,开50个线程,没个线程只需验证200条,这样所有的线程执行完是远小于1万分钟的。需要知道一个任务的执行进度,比如我们常看到的进度条,实现方式可以是在任务.

2021-01-28 15:36:26 6621 2

原创 【问题1】StringBuffer&StringBuilder

问题描述:StringBuilder s = new StringBuilder("lingqiao");StringBuffer sb = new StringBuffer("fshafjasf");StringBuilder s = new StringBuilder("lingqiao").append("212323");StringBuffer sb = new StringBuffer("fshafjasf").append("21323124");为什么不能创建完对象之.

2021-01-22 11:14:43 88

原创 【每日一题】628. 三个数的最大乘积

题目链接1、题目描述:给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 242、解题这题看起来很简单,但是你要理清思路,一定要先具体化去分析下将整个数组排好序之后,你就能分情况讨论,然后就可以找到规律。方法一:排序首先将数组排序。 如果数组中全是非负数,则排序后最大的三个数相乘即为最大乘积;如果全是非正数,则最大的三个数相乘同样也为最大乘积。 如果数组中有正数

2021-01-20 16:04:33 127

原创 什么是脏读、不可重复读、幻读

1、脏读在事务A修改数据之后提交数据之前,这时另一个事务B来读取数据,如果不加控制,事务B读取到A修改过数据,之后A又对数据做了修改再提交,则B读到的数据是脏数据,此过程称为脏读Dirty Read。2、不可重复读一个事务内在读取某些数据后的某个时间,再次读取以前读过的数据,却发现其读出的数据已经发生了变更、或者某些记录已经被删除了。3、幻读事务A在按查询条件读取某个范围的记录时,事务B又在该范围内插入了新的满足条件的记录,当事务A再次按条件查询记录时,会产生新的满足条件的记录(幻行 Phan

2020-08-02 17:24:15 380

原创 Spring事务的管理

1).编程式事务管理通过 TransactionTemplate或者TransactionManager手动管理事务,实际应用中很少使用第一种:使用TransactionTemplate 进行编程式事务管理的示例代码如下:@Autowiredprivate TransactionTemplate transactionTemplate;public void testTransaction() { transactionTemplate.execute(new Transacti

2020-07-31 22:47:20 70

原创 Grunt下载贼慢!怎么办?请看这里!!

Grunt下载贼慢!怎么办?请看这里!!在执行命令的时候可以直接加上镜像后缀,命令如下: npm install -g grunt-cli --registry=http://registry.cnpmjs.org加上之后就起飞了!!我们一起飞!!其余命令:npm install --registry=http://registry.cnpmjs.org...

2020-05-13 21:43:52 307

原创 Leetcode:682. 棒球比赛

Leetcode:682. 棒球比赛1、题目描述你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2. “+”(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。3. “D”(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。4. “C”(一个操作,这不是一个回合的分数):表示...

2020-04-03 15:24:16 148

原创 阿里面试阿里巴巴2016研发工程师笔试题(三) 第四题

阿里面试阿里巴巴2016研发工程师笔试题(三) 第四题题目:进程P1和P2,资源A和B,进程对资源的操作定义如下:读取资源A:rA;读取资源B:rB;写入资源A:wA;写入资源B:wB。同时规定,进程读取某一资源前,必须加上共享锁,写入某一资源前必须加上排他锁;资源在被进程加共享锁时,可以被其他进程继续加共享锁,但不能加排他锁;资源在被进程加排他锁时,其他进程无法加锁。进程完成全部操作后释放锁。...

2020-03-31 10:53:58 253

原创 Leetcode:914. 卡牌分组

Leetcode:914. 卡牌分组1、题目描述给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。2、 思路题目文字和示例 3 和告诉我们:如果检测到某个组里元素只有 1 个,可以直接返回 false。示例...

2020-03-27 15:57:15 110

原创 Leetcode:999. 车的可用捕获量

Leetcode:999. 车的可用捕获量1、题目描述在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝那个方向移动,直到它选择停止、到达棋盘的边缘或移...

2020-03-26 17:32:05 93

原创 Java基础练习五十题第二题

Java基础练习五十题第二题【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。程序分析:* 素数是:只能被1或本身整除的数,如:3,5,7,11,131…*判断素数的方法:用一个数分别去除2到sqrt(这个数),*其实用这个数分别去除2到他本身少1的数也可以,但是运算时间增加了*如果能被整除,则表明此数不是素数,反之是素数。**代码:**package jav...

2019-03-28 10:27:02 236 2

空空如也

空空如也

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

TA关注的人

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