自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liangcheng0523的博客

热爱分享技术的原创博客

  • 博客(48)
  • 资源 (2)
  • 收藏
  • 关注

原创 【简单】遥控小车

假设不考虑小车的大小,将小车看作是一个点,程序对小车下发一系列指令。这些指令按照如下格式进行组装R表示顺时针旋转90度(且旋转是立刻生效的),L表示逆时针旋转90度,NA表示沿之前的方向;R或者L后面紧接一个整数N表示前进的距离。小车的初始方向是指向北的。要求得到再接收到一系列指令之后所在的坐标,起点为(0,0),北为y轴的正方向,东为x轴的正方向。

2021-02-28 18:45:45 761 5

原创 【中等】实现简单的DHCP服务器

DHCP,全称是Dynamic Host Configuration Protocol(动态主机配置协议),会根据主机的MAC地址等其他信息来动态分配IP地址。每一个主机在不同时刻分配到的IP地址并不是确定的。假设一台路由设备拥有6.0.6.0到6.0.6.255区间的256个IP地址,现需要按照如下规则进行分配IP地址。识别不同主机的标识是主机的MAC地址。当主机向路由器申请IP地址时,需要提供主机的MAC地址(物理地址)给路由器以供使用。

2021-02-27 23:21:17 507

原创 手写一个基于java的简单RPC框架(一)(附赠GitHub项目地址)

非常出名的Dubble就是RPC框架,简而言之,RPC框架是一种可以实现跨JVM过程调用的框架,不管你使用什么方式什么通信协议,只要能达到这个效果的都可以称为RPC框架。java发展的前几年,使用的最多的RPC框架就是采用XML,JSON通信来实现远程过程调用的。评价一个RPC框架的优异性,那就是对开发者开发时影响越小就越好。

2021-01-24 23:56:35 338 1

原创 String类的构造方法大全集【源码赏析】

String的构造方法涉及到对final value的初始化,所以有必要了解一下其初始化的过程,以及它都接收哪些实例化方式。String是java中处理字符串的有力“兵器”类,我们需要对这个被反复使用的类仔细研究,才能榨干每个工具的价值,才能学会更高超的编程技巧。

2021-01-10 22:37:48 793 6

原创 String类的成员变量【源码赏析】

来研究一下String类包含的成员变量。String是java中处理字符串的有力“兵器”类,我们需要对这个被反复使用的类仔细研究,才能榨干每个工具的价值,才能学会更高超的编程技巧。

2021-01-10 00:23:55 842

原创 【中等】找到两个字符串中的最长的公共子串

【中等】找到两个字符串中的最长的公共子串题目描述输入示例输出示例初始代码解题思路解题代码札记本文章属于付费专栏的文章,购买该文章所隶属的专栏后,即可获得本专栏内的所有文章永久阅读权限。每一篇文章都属于作者的劳动成果,尊重原创!尊重知识!从我做起。题目描述给定两个字符串firstStr和secondStr,求出这两个字符串中的最长公共子串。提示:使用二维动态规划来求解。输入示例示例1:thismyfavovitorfoodhefavovitorread示例2:thismyfavov

2021-01-09 17:08:23 109 1

原创 & 0xff 是不是多此一举?看完才觉得女少!

在看源码的时候或者在看某些大神的代码的时候,经常看到“& 0xff”这样的神仙操作。一脸不解的读者表示不解,一个数按位与上0xff不还是它本身吗?为什么还要这样多此一举呢?就像下面这段代码一样。

2021-01-09 15:29:45 876 3

原创 StringLatin1类与StringUTF16类的toChars方法【源码赏析】

jdk11及之后的版本中String类中的toCharArray()方法中不再调用System.arraycopy()方法进行char数组的复制,而是判断String对象本身采用了哪种编码格式(LATIN1还是UTF16),对于不同的编码格式分别调用相应的工具类静态方法来实现char数组的复制。

2021-01-09 14:40:35 2423

原创 【中等】求一个数的各最小乘积因子

给定一个大于2的数,求这个数的乘积因子,比如说6,乘积因子就会有2*3。我们要求求出这些乘积因子之后要以从小到大的顺序进行排列。并且乘积因子应该尽量取小的数。

2021-01-09 00:52:27 559

原创 【简单】反转英文句子的英文单词

给定一句英文单词组成的句子,要求反转英文单词的顺序,但是单词本身的字母顺序不要求改变。详情见输入输出案例。

2021-01-09 00:27:46 226

原创 【简单】字符串中最长元音字符串的长度

给定一个由英文大小写字母组成的字符串,请统计出该字符串中连续的元音字母序列的长度中最大的那个。如果没有则输出0。字符串长度L>0。

2021-01-09 00:03:43 1772 4

原创 String类的toCharArray方法【源码赏析】

String是java中处理字符串的有力“兵器”类,我们需要对这个被反复使用的类仔细研究,才能榨干每个工具的价值,才能学会更高超的编程技巧。toCharArray()这个方法将String的每个字符按照顺序放在一个char[]数组中返回,特别实用。虽然我们可用String自带的indexOf(int[] index)方法来遍历每个字符元素,但是对于习惯使用数组操作的同学来说,总感觉差了点感觉;如果能将字符串的每个字符串放入数组中遍历处理就更得心应手了,因此才有了toCharArray()方法。

2021-01-08 00:02:36 1966 1

原创 【中等】升级版最小公倍数

给定一个正整数字N,要求一个数M,M满足:从1到N的所有整数,都能整除M,且M是所有自然数中符合条件的数中最小的那个。简而言之,找到一个最小的正整数M,使得M整除从1到N的所有正整数。

2021-01-06 22:29:20 163 2

原创 【简单】打印出像Mysql一样规整的表格

我们使用mysql命令行工具进行查询之后,会显示工整的表格,十分漂亮,现在,输入行 n,列m。要求打印出n行m列形如示例的输出。

2021-01-06 00:19:35 318 1

原创 【困难】数字迷宫,找到迷宫中的单词。

给定一个n行m列的矩阵,矩阵中元素是单词,现在你可以在矩阵中上下左右移动,给你一个指定的单词,要求你找到一条路径使得这个路径上的字母连续起来是该单词,可以找到则输出YES,不能找到则输出NO。详细请看输入输出示例:

2021-01-06 00:07:03 444

原创 【困难】给奥运会中的国家排名

每次奥运会都会有gold medal, silver medal, bronze medal。现在要求给国家的名次进行排序。排序的规则是这样的:如果金牌数不同,则金牌数大的国家放在前面。如果金牌数相同,则比较银牌数,银牌数相同则比较铜牌数,如果此时铜牌数也相同则名次按照国家名的字典序排序。

2021-01-05 00:27:12 264

原创 【中等】只将元音字母变为大写

给一句话,要求将元音字母都变为大写,其他的字母都变为小写。

2021-01-04 23:37:35 1532

原创 数学证明:2的N次幂是正整数中唯一不是连续可分的

对于整数M,若存在一组个数大于2的连续整数an,an+1,...,an+h(h≥1),使得这组整数和an+an+1+...+an+h=M,则M称为整数连续可分的。对于15,存在7、8连续,使得7+8=15成立,所以15是连续可分的;15还可以拆成4、5、6连续,使得4+5+6=15;又例如数字16,不存在任意一组连续数使得其和等于16,所以16不是整数连续可分的。

2021-01-03 11:29:51 1954

原创 【动态规划】子数组的最大累加和问题

给定一个数组arr,返回子数组的最大累加和例如,arr = [1, -2, 3, 5, -2, 6, -1],所有子数组中,[3, 5, -2, 6]可以累加出最大的和12,所以返回12.[要求]时间复杂度为O(n)O(n),空间复杂度为O(1)O(1)

2020-12-26 23:22:09 501 1

原创 【简单】consecutive integer 一个数是否能由2个及以上连续数字组成

一个数是否能由2个及以上连续的数字组成,这些连续的数之和等于该数。 举例:输入数15 则存在以下这些情况: 1 2 3 4 5 4 5 6 7 8 存在2个以上的连续数列使得数列中数值之和等于15。先只要求判断是否存在这样的数列,存在则输出YES,不存在则输出NO。

2020-12-26 21:17:53 639

原创 【困难】列出能整除一个数所有数

给定一个数,从小到大列出所有能整除该数的所有数,并在最开始输出所有的种数。情景引入:小明经常在OJ上刷题,他发现他没参加一场OJ测试,他的总分数都能被他的排名整除,假设,这次他参加了一场测试,测试后的得分是N,求他所有可能的名次,以及名次的可能总数。

2020-12-25 23:20:16 487

原创 【简单】求英文句子的平均单词长度

处理由英文单词和空格组成的句子(单词之间空格数为1),统计单词的个数N,统计所有单词所含单词的个数M,并求出N/M的值,要求保留小数点后两位,且按照四舍五入的规则保留。

2020-12-25 22:34:58 1961

原创 Andorid7以上系统如何抓包HTTPS

【高级定制专栏】的第一篇文章讲的就是如何用andriod手机进行抓包https。之所以只讲抓取https,是因为相对于http,只有https才加密了信息。以后会讲解如何抓取tcp,udp;用的是完全不同的方法。回归主题,上篇抓包文章给出的方案中并没有完美的解决Andorid7以上系统的手机如何进行https抓包。本周将会介绍一个稍微可行的方案来抓包。

2020-12-22 23:25:47 161

原创 别划走,这不是一篇普通的tcp三次握手文章

如果我问你,tcp三次握手以后tcp连接就一定建立了吗?

2020-12-14 17:12:48 1776 10

原创 分解HashMap(一)

分解HashMap(一)引子关于了解源码hashmap原理hashmap的数据结构快问快答下面介绍一下源码:上两周在心理医生的建议下调理了下生活和工作,耽误了,把拖更的补上,抱歉。== 注意:本文不包含红黑树的内容(因为涉及到红黑树数据结构,为避免本文学习成本太大,将拆分成两部分讲解完hashmap)==引子说实话,hashmap在JAVA里面算是非常重要的一个工具类了。从我毕业的第一个面试问题到现在的各大小的面试题,除了少数很坑的公司面试,几乎从来就没少过hashmap,因为这个映射工具类在学

2020-12-14 16:35:33 266 3

原创 python中将数字字符串转化为数值类型再比较大小

python虽然是很动态类型的语言,很好用,但是它还没智能到这个程度,一切字符串都是按照字典顺序进行比较的。

2020-12-05 17:22:28 4063 1

原创 python中将16进制数字字符串转化为10进制数值类型再比较大小

python虽然是很动态类型的语言,很好用,但是它还没智能到这个程度,一切字符串都是按照字典顺序进行比较的。更不会知道你这个是个16进制的字符要自动转换后给你进行比较。

2020-12-05 17:21:16 2507

原创 【动态规划】求两字符串的最长公共子串

给定两个字符串str1和str2,输出两个字符串的最长公共子串,如果最长公共子串为空,输出-1。用动态规划的思想去求解

2020-12-05 16:06:06 1760

原创 【职场指北】中高级JAVA服务端工程师需要掌握哪些

我的一位朋友小A,就职于某国内知名互联网小破厂,工作非常的忙,前段日子请他分享一下他的学习经验。这不就把他遇到的 95 道面试题和学习建议分享出来了。非常丰富的干货、很多题我的确被问过很多次。

2020-11-30 23:23:11 4979 2

原创 让Fiddler不抓取电脑的网络通信,只抓取手机的网络通信。

当我们只想测试手机APP网络通信的时候,希望不受本机网络报文的影响,可以采用以下方法:

2020-11-23 23:44:57 6150

原创 10个面试官,9个不敢问Synchronized

Sychronized 进入同步区是靠竞争绑定的锁对象的,所以区分两个同步操作产不产生影响的关键是判断绑定的对象是不是同一个。

2020-11-22 17:45:23 11308 13

原创 我是如何拿到HTTPS中的加密数据(微信小程序同样适用)

众所周知,HTTPS号称是非常安全的,难道连抓包工具都没有办法了?我要就此放弃吗?

2020-11-15 00:35:26 13866 4

原创 单例模式很简单,但99%的人写不对。

这篇博文不会介绍简单的单例模式的实现方法,只会介绍双所检测版的单例模式的实现方法,并且指出有哪些很容易被忽视和出错的技术细节。

2020-10-17 14:25:49 14533 9

原创 面试官问我反射的实现原理是什么???

通俗的话讲是:在JVM的层面,java的对象饮用不仅要可以直接或间接的接触到对象类型,更应该可以根据索引能得到这个对象的类型数据(对呀的Class对象)。这样的JVM设计使得JAVA可以拥有反射功能。

2020-10-12 21:35:38 22533 24

原创 【好难】我在LeetCode刷第二道题时献上了一血

一、拿到题目一定要分析清楚,不要省那几分钟,如果没考虑清除,后面走错路花费掉的时间就等于打水漂,这个是没有什么过程分的。二、尽量顺着已知的条件来,有时候出题者并不是想刁难你,而是想让方便解答。三、尽量少依赖各种包装类以及类库方法,因为没有解释执行来提醒你哪里写错有语法错误了,如果你记忆力不好真的很容易满屏的bug。四、尽量用算法的简洁思想去解决,简化数据操作的步骤。

2020-07-31 18:06:59 14669 2

原创 【温情提醒】工作中要少用e.printStackTrace()的致命原因之一

工作中要少用e.printStackTrace()的致命原因

2020-07-30 11:46:51 18724

原创 【全网最通俗】什么是幂等性

幂等性,就是套个个高大上名字的普通概念,根本就不是新概念,甚至你开发时还经常会实现所谓的幂等性。

2020-07-07 18:59:45 16119 6

原创 【紧急避坑】mybatis可以同时使用XML和注解

回答疑惑:MyBatis可以同时使用XML和注解两种方式配置Mapper,且需要注意以下一些小问题。

2020-06-21 10:26:34 21005 5

原创 【全网最全】mybatis一定要禁用一级二级缓存

mybatis源码设计非常优秀,然后阅读源码又必须跨域一道门槛:缓存,虽然mybatis的缓存已经不再适用现在的技术框架,但是仍有很多需要注意的地方。

2020-06-20 12:20:17 18010 11

原创 Class文件结构神秘的微笑(二)

Class文件其实很简单,今天继续分析Class文件,完成第一篇文章的收尾

2020-06-01 23:19:41 14159 1

openssl轻量版

openssl轻量版

2020-12-22

winhex.zip

WinHex,一款专业的16进制编辑器,查看.class文件的利器,学习JVM原理同学的必备工具。文件格式位.zip,大小3.4MB,即解压即使用

2020-05-26

空空如也

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

TA关注的人

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