- 博客(19)
- 收藏
- 关注
原创 关于java双亲委派机制的思考
为什么不直接从上到下递归加载?(jvm按需加载class)为什么从子类到父类顺序直接加载?(如果自己写一个String类的话,CustomClassLoader就直接加载这个String类了)所以双亲委派从子到父,再从父到子,既能按需加载,又能防止恶意注入...
2021-08-01 21:49:43 219
原创 进程、线程、协程 切换代价
进程页表用户栈、内核栈硬件上下文线程用户栈、内核栈硬件上下文协程硬件上下文协程相当于在一个线程内(只有一个用户栈和内核栈),为每个协程创建一个栈来模拟线程中的用户栈关于内核栈:...
2021-07-23 19:46:01 271
原创 后端常见面经总结(内含答案跳转url)
一面Linux中的虚拟内存和物理内存32位Linux系统内核虚拟地址空间范围(3GB-4GB here)进程和线程协程(用户态上的轻量级线程 here)进程间通信方式匿名管道和命名管道共享内存怎么实现的指针的长度epoll和select(IO多路复用的方式)精度缺失(BigDecimal或浮点数存储表示规范?)OSI七层模型或四层五层模型说说TCP、UDP在哪一层,区别TCP保证可靠的方式TCP三次握手,TCP拥塞控制常用的、学过的协议HTTPS详细过程,主要是TLS会话建立
2021-07-10 17:18:32 163
原创 GO 切片和数组
golang中数组和切片的区别:● 切片是指针类型,数组是值类型● 数组的长度是固定的,而切片不是(切片是动态的数组)● 切片比数组多一个属性:容量(cap)● 切片的底层是数组数组arr := [8]int{1, 2, 3, 4, 5, 6, 7, 8}切片//第一种方式:sli := arr[3:6]//第二种方式,make():slice = make([]string, 1,2)可以非常粗浅地理解为go里面的切片是C++里面的vector<>...
2021-04-30 20:52:38 134 1
原创 go context 总结
go context是初学者难以接受的东西,比较难理解,于是我做了个总结,帮助我理解context的设计原由以及使用方式。控制并发三种方式:wait groupchancontext也就是说没有context我们也能用前两种方式对协程进行管理,他们分别长这样:wait groupfunc main() { var wg sync.WaitGroup wg.Add(2) go func() { time.Sleep(2*time.Second) fmt.Printl
2021-04-29 15:53:24 91
原创 从语言到架构------我对后端的认识
已经是大三的学生了,并且也到国内的互联网大厂有过实习,学习了很久后端技术,想做个简单的总结(作为在校学生,文中很可能有许多错误,请指正)什么是后端这个问题其实比较简单,后端就是back-end,在现代软件工程中,我们大致可以把一个服务分成前端、后端、客户端,当然,也可以把算法算进去。在上图中,有一个服务器和各种终端,包括手机、pad、电脑等,前端就是我们在这些设备上看到的的那些页面,如QQ、微信、百度的界面,后端是我们看不到的数据处理、加工的地方,是整个系统的“大脑”。其实客户端也算是广义上的前端,
2021-04-08 14:53:34 551 2
原创 elasticsearch 总结
基本概念index 索引:相当于数据库type 类型:相当于数据表document 文档:相当于一行数据倒排索引:它的核心是把文档拆分为文字或词语,把字词当做key,把出现这个字词的文档地址当做value。常用接口/_cat/nodes 查看所有节点/_cat/health 查看健康状况/_cat/master 查看主节点/_cat/indices 查看索引PUT /myindex/mytype/1 新增数据(必须带id)POST /my
2021-03-23 20:07:07 96
原创 百度测开实习感受分享
这里写自定义目录标题百度测开实习感受分享技术成长日常生活与福利合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入百度测开实习感受分享关于本人:四川大学 计算机 2018级 绩点不高,无能力保研,比较喜欢研究后端各种技术,大三上选择尽早出来实
2021-03-21 21:58:43 2996 4
原创 Java虚拟机 总结
Java虚拟机总结Java内存区域堆:存放new出来的对象本身虚拟机栈:线程隔离一个方法一个栈帧,存放局部变量表(包含基本数据类型、对象引用)、操作数栈、动态链接、方法出口本地方法栈:同上,不同的地方是虚拟机栈存放java方法,本地方法存放其他语言方法,如C方法区:被虚拟机加载的类型信息、常量、静态变量运行时常量池:装Class文件PC程序计数器:下一条指令地址...
2021-03-21 21:34:01 73
原创 JAVA 垃圾回收总结
一、垃圾回收标记方法1、引用计数标记:无法解决循环引用或相互引用的问题2、可达性算法:解决上述问题可作为GC root的对象:(我没太想清楚为啥是以下四种那个情况)a. 虚拟机栈(栈帧中的本地变量表)中引用的对象。b. 方法区中类静态属性引用的对象。c. 方法区中常量引用的对象。d. 本地方法栈中 JNI(Native方法)引用的对象二、四种引用:强引用:永远不会回收软引用:内存溢出回收弱引用:一定会回收虚引用:没用,唯一作用是被回收时收到系统通知三、回收标记垃圾方法标
2021-01-14 16:10:06 73
原创 JDBC、Mybatis原生、Mybatis Mapper的区别到底在哪儿
近日学习了Mybatis,大家都说Mybatis比JDBC简单,但我并不觉得JDBC复杂多少,都要下连接数据库、开连接、关连接、commit的代码,凭啥大家都说JDBC复杂呢?JDBC和MybatisJDBC连接数据库代码出现在JAVA中,Mybatis连接数据库代码出现在xml中,配置有关的代码放在xml更集中管理,但此处代码量并无多大差异。JDBC驼峰命名需要自己写,想尝试的可以去试试,我反正没写过。JDBC中SQL语句出现在JAVA中,MybatisSQL语句出现在xml中,类似第一条。最
2020-08-05 20:21:41 641
原创 线段树 洛谷 P3373 【模板】线段树 2 坑太多
AC代码:(有很多不用取模的地方我取模了,这个大家自行优化代码)#include <stdio.h>#include <queue>#include <algorithm>#include <vector>#include<set>#include <string.h>using namespace std;long long n,m,p;struct node{ unsigned long long l,r
2020-07-05 23:21:29 176
原创 Spring最简洁清晰总结-ioc-aop
Spring最简洁清晰总结装配Bean通过xml装配格式:<bean id= class=></bean>bean的作用域作用域定义singleton单例prototype多例requestweb单例sessionweb单例global-sessionportlet单例构造器注入(从上到下按照构造方法...
2020-05-05 12:15:57 230
原创 浅入源码—Servlet篇——初步走进servlet源码
浅入源码—Servlet篇引入:Tomcat和servlet 在作者学习Tomcat和servlet之初,经常会搞混Tomcat和servlet的概念,所以在学习之前,我们一定要搞清楚什么是Tomcat,什么是servlet。 图片来自https://www.cnblogs.com/whgk/p/6399262.html 我们看出,servlet是部署在服务器上,服务器是载...
2020-05-04 16:02:22 169
原创 第九届蓝桥杯 第几个幸运数 C++ 全网最简单算法
第九届蓝桥杯 第几个幸运数 C++ 全网最简单算法标题:第几个幸运数到x星球旅行的游客都被发给一个整数,作为游客编号。x星的国王有个怪癖,他只喜欢数字3,5和7。国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。我们来看前10个幸运数字是:3 5 7 9 15 21 25 27 35 45因而第11个幸运数字是:49小明领到了一个幸运数字 590847095875...
2020-01-18 18:05:54 508
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人