
miscellany
RomanBesson
这个作者很懒,什么都没留下…
展开
-
一堆小技巧--常见写法的优化(持续更新。。)
一堆小技巧--常见写法的优化(持续更新。。)原创 2022-08-30 15:10:22 · 122 阅读 · 0 评论 -
小技巧--使用异或来替换原本的常量交换
小技巧--使用异或来替换原本的常量交换原创 2022-08-26 18:02:08 · 311 阅读 · 0 评论 -
取余运算的意义
取余运算的意义一般是给一个数一个界定范围。就比如m=n%100,就限定了m的的范围只能是0-100.更形象来说,我们可以把它想象成一个圆环。我们扩大n,就像当于在0-100这个圈内打转。我们再稍微扩展一下,n=0;while(true){n=(n+k)%100}其实就像当于不断地筛选0-100,k的整数倍的数。取余实际上就是一个限定范围的方法,限定住了n或是m只能再0-100的范围徘徊,被束缚了脚步。。。...原创 2022-03-17 10:20:25 · 2621 阅读 · 0 评论 -
常用键备份
ps快速换色:shift+alt+退格向下创建剪贴蒙版:ctrl+alt+g(简单解释就是上面那层只能显示下面圈住的部分)取消套索选区:ctrl+d图层整体变色:ctrl +alt+u看起来更3d:滤镜>液化大小窗口:窗口>导航器画直线:按住shift画快速调整某区域的大小 套索工具 +ctrl +cidealamba表达式简化 alt +enterwin+rregedit 注册表编辑器(删除主页)linux查看虚拟机ipip addr原创 2022-02-13 16:17:50 · 1831 阅读 · 0 评论 -
个人觉得比较好的学习资源及文章分享(持续更新)
spring循环依赖—资源来源:B站鲁班大叔_007https://b23.tv/KkFxMJl?share_medium=android&share_source=qq&bbid=XY3174F33EFE674481F5792D4A27B0177566E&ts=1640573378604讲解的很易懂,基本听一遍就对循环依赖问题有一个大致的了解。...原创 2021-12-27 10:55:17 · 114 阅读 · 0 评论 -
java集合类的结构
原创 2021-12-04 15:09:02 · 217 阅读 · 0 评论 -
利用反射创建对象
public class Reflection { public static void main(String[] args) throws Exception { Reflection reflection = new Reflection(); System.out.println(); Reflection.class.newInstance().test(); System.out.println(); Ref原创 2021-12-02 15:14:32 · 306 阅读 · 0 评论 -
比较好用的图床分享
链接:https://picx.xpoet.cn/#/upload网页上有教程,实用性强,转存很快,推荐!!!原创 2021-11-30 18:44:01 · 228 阅读 · 0 评论 -
请你介绍一下map的分类和常见的情况
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap.Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap (3)是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,关于遍历:遍历时,取得数据的顺序是完全随机的。关于null:HashMap最多只允许一条记录的键为Null;允许多原创 2021-11-30 15:56:28 · 132 阅读 · 0 评论 -
为什么重写equals()就一定要重写hashCode()方法?
答:首先HashMap,HashSet集合添加元素时要进行两次检查,检查hashcode是否相等再检查equals是否相等,两个都不相等才能添加这个元素,保证元素不重复。我们再回到Object类说起,Objiecr类的equals()是对两个对象的内存地址进行判断,hashcode()也只是返回对象的内存地址。我们创建两个不同的对象,让他们的值一样,因为它们两个的内存地址不同,所以HashMap()还是默认能添加这两个的。但就数据意义来看,它们就是相同的。所以添加一个就行了。 Student s1原创 2021-11-29 21:27:27 · 654 阅读 · 0 评论 -
tcp三次握手和四次挥手的过程以及原因
.简述下TCP三次握手的过程,并解释采用3次握手建立连接的原因?客户端发送连接请求: syn=1 seq=x服务端发送响应请求 syn=1 ack=x+1 seq =y 表示服务端准备好了客户端发送确认的请求 ack=y+1 seq=x+1 客户端确认是刚才自己发的消息,且消息有效那为什么需要三次握手呢?其实就像客户端的第二次握手我描述的那样是为了判断消息有效。试想这样一个场景:客户端在很久很久之前发送了一个请求,但是由于网络因素或者是其他因素,他没有及时被服务端收到,也原创 2021-11-28 19:03:17 · 254 阅读 · 0 评论 -
https是如何保住信息安全的?
https采用的是非对称加密以及对称加密混合的加密方式加密来保证用户安全的。他比http协议多了一层加密层(SSL/TSL)要详细说明这个,我们要从不加密开始说起。如果不加密的话,浏览器和服务器的交流,很容易就会被第三方拦截,然后信息被偷看/篡改你的信息。而且也很容易被钓鱼网站拦截,你也没办法确认你连接的是否是你想要的服务器。于是,人们便想到对数据加密。最开始使用的是对称加密,也就是服务器和浏览都有一个钥匙,能通过这个钥匙加密和解密双方通信中的文件。来实现加密信息。这种方法信息传递的速度快。但原创 2021-11-27 19:26:55 · 890 阅读 · 0 评论 -
StringBuilder和StringBuffer&String的区别,以及它的基本用法
StringBuilder在java5中引入,算的上是一个StringBuffer的一个用于单线程的版本,StringBuilder用于拼接字符串,用法跟StringBuffer差不多,都是创建一个字符缓存区,不用像String一样每增加一个字符就创建一个对象。而相对于StringBuffer来说,StringBuilder的优势在于单线程的性能弊StringBuilder要高了不少。而StringBuffer虽然效率比StringBuilder略低,但是,更适用于多线程。两者各有应用的领域吧。至于用法原创 2021-11-27 16:05:22 · 374 阅读 · 0 评论 -
StringBuffer常见用法
public static void main(String[] args) { //创建一个StringBuffer对象 StringBuffer stringBuffer = new StringBuffer(); /* public StringBuffer() 构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。 public StringBuffer(int capacity) 指定容量的字符串缓冲区对象.原创 2021-11-25 17:12:33 · 339 阅读 · 0 评论 -
Linux的诞生和发展&开源模式的流行
Linux的诞生和发展Linux的诞生:1991年最初由Linus Torvalds针对386(个人计算机)开发;Linus Torvalds那时是芬兰的一名研究生。20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和macOS这几种。Unix价格昂贵,不能运行于PC;DOS显得简陋,且源代码被软件厂商严格保密;MacOS是一种专门用于苹果计算机的操作系统。此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。原创 2021-11-24 10:42:16 · 1183 阅读 · 0 评论 -
bootstrap.properties无法被扫描到的问题解决
bootstrap.properties无法被扫描到的问题解决,1.检查是不是nacos配置DataId 少写了properties2.如果是新版的话,把相同的配置信息写入application.properties和bootstrap.properties里就可以解决问题,这两个文件缺一个不可。...原创 2021-11-17 16:08:56 · 659 阅读 · 0 评论 -
No Feign Client for loadBalancing defined.Feign报错的解决办法
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalancer?这是一个版本不兼容问题Spring Cloud Feign在Hoxton.M2 RELEASED版本之后不再使用Ribbon而是使用spring-cloud-loadbalancer,所以不引入spring-cloud-loadbalancer会报错.所以需要去掉ribben,添加loadbalan原创 2021-11-16 16:12:36 · 2345 阅读 · 1 评论 -
Scanner扫描流的读取文件用法
public static void main(String[] args) throws IOException { Scanner in=new Scanner(Path.of("C:/Users/86188/Desktop/01.txt"), StandardCharsets.UTF_8); while (in.hasNext()){ System.out.println(in.next()); } in.c.原创 2021-11-12 11:14:21 · 269 阅读 · 0 评论 -
java-打印项目相对路径的根目录
IDEA里System.out.println(System.getProperty(“user.dir”));原创 2021-11-12 10:39:36 · 995 阅读 · 0 评论 -
关于renren-fast-vue的启动问题
最近想使用renren-fast-vue这个前端开源框架。但是启动的过程确整整耗费了我5个小时。踩了很多坑,最终解决了。给后来想启动的人一点提示:1.nodejs最好用10.16.3(重要)2.使用cnpm进行 install和run dev3.启动人人开源的后端程序renren-fast4.python最好下个3.0+(不确定是否一定需要)5.任务栏左面搜索windows Power然后输入set-ExecutionPolicy RemoteSigned 选择A(不确定一定需要)6.修改pa原创 2021-11-12 09:42:27 · 2100 阅读 · 0 评论 -
java----关于Console类的报错
public class console { public static void main(String[] args) { Console console = System.console(); String root=console.readLine("账户:"); char[] password=console.readPassword("请输入密码:"); System.out.println(root);原创 2021-11-11 11:05:31 · 1262 阅读 · 0 评论 -
StringBuilder类解析
StringBuilder 构建字符串 有时候我们需要来不断拼接小的字符串来满足我们的需求,如果用字符串拼接的方法,效率会比较低,此时StringBuilder类为我们提供了便捷.下面是一些它的常用方法。 StringBuilder stringBuilder = new StringBuilder(); //拼接 stringBuilder.append("one"); //输出,也可以用String接 System.ou原创 2021-11-10 11:17:35 · 152 阅读 · 0 评论 -
Git配置和提交
2.2.8.配置git/ssh下载git》一路默认安装下载完后任意地方右键 Git标识的第二个,启动非图形的控制台(git bash)配置邮箱和用户名# 配置用户名 git config --global user.name "username" //(名字) # 配置邮箱 git config --global user.email "username@email.com" //(注册账号时用的邮箱)配置免密登录1.进入 git bash;使用:ssh-keygen -t原创 2021-11-09 17:00:12 · 423 阅读 · 0 评论 -
代码点和代码单元的简单理解
在特殊符号没出现之前,每个字符都/unicode的代码点都对应着一个代码单元。但新增的规则种加了很多新的符号,这些符号不再只能用一个代码单元来表示,此时一个代码点就不一定只用一个代码单元就可以表示了,而char数据类型就是一个采用UTF-16编码表示Unicode码点的代码单元。java种String类里查看代码点和代码单元的部分方法如下:简单来说,代码单元就是用来表示代码点的。String str = "?"; System.out.println(str.len原创 2021-11-09 15:23:12 · 308 阅读 · 0 评论 -
nginx---详解
1.nginx的介绍nginx能做什么?反向代理负载均衡动静分离基本介绍Nginx (“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上ngimx的并发能力确实在同类型的网页服务器中表现较好Nginx,专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率﹐能经受高负载的考验,有报告表明能支持高达50, 000个并发连接数。正向代理和反向代理正向代理[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(原创 2021-11-09 11:03:10 · 7506 阅读 · 0 评论 -
thumbnailator(图像压缩类)简单应用
1.thumbnailator(图像压缩类)1.1.安装mavne导入<!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator --><dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>原创 2021-11-06 17:23:56 · 284 阅读 · 0 评论 -
链表----单链表
3.1.单链表链表属于线性结构的链式储存结构,是一种有序的列表。它的储存如图所示:链表的数据的内存地址不一定是连续的。链表是以节点的形式存储的链表可能有头节点和无头节点的3.1.1.思路分析3.1.2.代码实现3.1.2.1.按照插入顺序添加(只写了遍历)这种哪个先添加哪个就排在前面package LinkDlist;public class sigelLinkNode { private int no; public String name; publi原创 2021-10-22 16:43:53 · 291 阅读 · 0 评论 -
用java实现队列
2.2简单队列对列是一种有序列表,可以通过数组或者是链表来实现。队列遵循着先入先出的原则(FIFO)在队列里,我们常常用front来表示队列开头的元素,rear来表示队列最后一个元素。rear会随着输入而变化,front会随着输出而变化。2.2.1.思路分析当我们将数据存入队列时称为”addQueue",addQueue的处理需要有两个步聚:思路分析将尾指针往后移: rear+1,当front == rear 【空】若尾指针rear小于队列的最大下标maxSize-1,则将数据存入rear原创 2021-10-21 17:24:38 · 1147 阅读 · 0 评论 -
稀疏数组(尚硅谷课程的笔记)
2 .稀疏数组文章来自于听了尚硅谷的课自己所敲:https://www.bilibili.com/video/BV1E4411H73v?p=102.1.稀疏数组我们来看一个实际问题:此时就需要稀疏数组来压缩稀疏数组基本介绍:当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的实现方法:稀疏数组第一行记录了—共有着几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中。从而缩小程序的规模如下图:2.2稀疏数原创 2021-10-19 17:18:10 · 136 阅读 · 0 评论 -
spring-mvc中url-pattern配置为“/“和“/*“的区别
url-pattern配置为"/“和”/*"的区别/*首先"/*"可以匹配所有url,包括带扩展名的,一般只用在过滤器上。/如果我们的项目中配置了"/",会覆盖掉tomcat中的default servlet。所以当springMVC的前端控制器配置为“/”时,需要在主配置文件中配置放行静态资源。放行方式<mvc:resources location="/js/" mapping="/js/**"/> <mvc:resources location="/css原创 2021-03-30 17:01:18 · 312 阅读 · 0 评论 -
sc不是内部命令也不是外部命令处理方法
sc不是内部命令也不是外部命令用户环境变量里path里加上 %SystemRoot%\system32原创 2021-02-21 19:44:06 · 2107 阅读 · 0 评论 -
maven资源导出失败问题的解决
maven资源导出失败问题的解决<build> <resources> <resource> <directory>src/main/resources</directory> <excludes> <exclude>**/*.properties</exclude> <原创 2021-02-16 12:50:14 · 385 阅读 · 0 评论 -
淘宝镜像的使用和cnpm的下载
npm太慢,我们如何使用淘宝镜像呢?方法一:临时使用npm --registry https://registry.npm.taobao.org install express上面语句是临时使用淘宝镜像安装 express。方法二:永久使用npm config set registry https://registry.npm.taobao.org配置后可通过下面方式来验证是否成功npm config get registry或npm info express如下图所示:方法三:原创 2021-02-13 10:21:52 · 443 阅读 · 0 评论 -
箭头函数
箭头函数let fn=function(a){ return a*2; } //箭头函数的变化过程 //1.function去掉在括号后面填上 => let fn=(a)=>{ return a*2; } //2.传入的参数只有一个,括号可以去掉 let fn=a=>{ return a*2; }原创 2021-02-12 15:18:46 · 106 阅读 · 0 评论 -
js里map和reduce的用法
map和reduce let arr=[1,5,7,8,5]; //1 let arrNew=arr.map(item=>item*2); console.log("map结果:"+arrNew); //2 let arrNews=""; for(let i=0;i<arr.length;i++){ arrNews[i]=arr[i]*2; } /*map就是一个迭代的作用 1处的代码效果和2处的代码效果相同原创 2021-02-12 15:10:05 · 251 阅读 · 0 评论 -
miscellany-在idea里创建properties文件
在idea里创建properties文件在resources里创建即可原创 2021-02-09 15:20:08 · 97 阅读 · 0 评论