自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 linux gcc找不到头文件问题

1、问题描述apt-get install gcc安装gcc后,使用gcc编译c语言时,出现找不到头文件的错误,原因:有依赖的文件还没进行安装下载gcc replace.c -o replace.exe2、解决方法需要安装build-essential,若使用以下语句安装会有问题apt-get install build-essential会有相关依赖未安装,此时可以用aptitude一键安装aptitude install build-essential若aptitude未安装,

2021-11-10 18:18:00 4761

原创 面试:奇奇怪怪算法题

一、概率相关67. 总结篇:面试中随机数"等概率"vs"不等概率"生成问题[random generator with equal or unequal probability]

2021-05-15 20:44:37 254

原创 面试:系统设计问题

占位符

2021-05-08 19:01:14 833

原创 Mybatis基础知识

占位符

2021-05-08 18:59:21 157

原创 消息队列基础知识

占位符

2021-05-08 18:58:23 739

原创 Netty基础知识

占位符

2021-05-08 18:57:22 104

原创 高并发、高可用下数据一致性问题分析

随着业务量的增加,目前的系统都朝着高并发、高可用的方向发展,同时带来了分布式数据的一致性问题。例如:数据库主从架构、读写分离,存在访问时的数据一致性问题为了进一步提高并发量,在数据库上层又引入一层缓存。现在又产生了缓存与数据库中的数据一致性问题然后为了缓存的高并发,缓存也采用主从架构,缓存间进行主从复制,访问时又有数据一致性问题以下就上述问题进行分析讨论,缓存此处默认为redis。相关内容分布在其他的文章中,在此对其进行集中整合下。面试:MySQL基础知识——六、3主从复制面试:redis基

2021-05-08 13:33:04 1222

原创 JVM基础知识

这方面的知识推荐看《深入理解Java虚拟机》一、JVM垃圾收集器Serial收集器(复制算法): 新生代单线程收集器,标记和清理都是单线程,优点是简单高效;ParNew收集器 (复制算法): 新生代收并行集器,实际上是Serial收集器的多线程版本,在多核CPU环境下有着比Serial更好的表现;Parallel Scavenge收集器 (复制算法): 新生代并行收集器,追求高吞吐量,高效利用 CPU。吞吐量 = 用户线程时间/(用户线程时间+GC线程时间),高吞吐量可以高效率的利用CPU时间,

2021-05-06 16:58:03 161

原创 RPC基础知识

一、基于HTTP的远程调用方案(包含了接口规范、序列化反序列化等) 和使用RPC的远程调用方案有什么不同。有了前者,为什么还要有后者?从技术发展进程来讲,先有RPC后有HTTPRPC在1984年就被人用来做分布式系统的通信,Java在1.1版本提供了Java版本的RPC框架(RMI),而HTTP协议在1990年才开始作为主流协议出现,而且HTTP发明的场景是用于web架构,而不是分布式系统间通信,这导致了在很长一段时间内,HTTP都是浏览器程序和后端web系统通信用的东西,上面的文档格式都是HTML(非

2021-05-05 22:12:19 250

转载 分布式相关理论知识

主要内容出自:cs-notes一、CAP二、BASE三、Paxos四、Raft五、分布式锁参考本人另一篇博文:面试:redis基础知识六、分布式事务七、一致性Hash参考本人另一篇博文:面试:redis基础知识

2021-05-05 14:51:45 250

原创 多分支条件下Switch为什么比if-else快

一、问题背景在做语句块级别的动态插桩工具时,需要获取方法中的控制流信息,需要解析jvm指令。像for、while等循环,解除语法糖后会变成if、goto语句,这其中比较难解析的是tableSwitch与lookupswitch指令,他们对应Java语法中的Switch语句。二、指令分析这两个字节码指令后都会跟0-3个nop空白填充,目的是为了让操作数能够4字节对齐其中tableSwitch对齐填充后会跟三个32位有符号整数,即default地址、low值、high值。再然后会跟high-low+

2021-05-05 11:54:39 206

原创 面试:redis基础知识

主要内容出自:Java知识体系最强总结(2020版)一、Redis数据类型及应用场景数据类型可以存储的值操作string字符串、整数或者浮点数对整个字符串或者字符串的其中一部分执行操作对整数和浮点数执行自增或者自减操作list列表从两端压入或者弹出元素对单个或者多个元素进行修剪,只保留一个范围内的元素set无序集合添加、获取、移除单个元素检查一个元素是否存在于集合中计算交集、并集、差集从集合里面随机获取元素hash包含键值对的无序散列表添加、获取、

2021-03-25 22:15:48 887

原创 面试:Spring全家桶

主要内容出自:Java知识体系最强总结(2020版)一、Spring Beans1、容器中bean的生命周期2、bean的作用域Spring框架支持以下五种bean的作用域:singleton : bean在每个Spring ioc 容器中只有一个实例。prototype:一个bean的定义可以有多个实例。request:每次http请求都会创建一个bean,该作用域仅在基于web的Spring ApplicationContext情形下有效。session:在一个HTTP Sessio

2021-03-24 22:34:12 280

原创 面试:计算机网络

1、url输入的过程发生了什么dns->http->tcp->解析http->响应html->返回html->浏览器展示浏览器缓存->hosts缓存->路由缓存->本地域名服务器->根域名服务器->顶级域名服务器->域域名服务器...

2021-03-23 21:44:44 119

原创 面试:Java多线程基础知识

主要内容来自:Java-concurrencyJavaGuide一、线程状态及基本操作1、创建线程的方式继承Thread类,重写run()方法实现Runable接口实现Callable接口实现 Runnable 接口和 Callable 接口的区别:Runnable 接口不会返回结果或抛出检查异常,但是Callable 接口可以。2、线程状态转换3、线程间的通信、协作interrupted中断可以理解为线程的一个标志位,它表示了一个运行中的线程是否被其他线程进行了中断操作。

2021-03-14 17:44:49 451 1

原创 面试:MySQL基础知识

主要内容来源:JavaGuideCS-Notes一、存储引擎1、InnoDB是 MySQL 默认的事务型存储引擎,只有在需要它不支持的特性时,才考虑使用其它存储引擎。实现了四个标准的隔离级别,默认级别是可重复读(REPEATABLE READ)。在可重复读隔离级别下,通过多版本并发控制(MVCC)+ Next-Key Locking 防止幻影读。主索引是聚簇索引,在索引中保存了数据,从而避免直接读取磁盘,因此对查询性能有很大的提升。内部做了很多优化,包括从磁盘读取数据时采用的可预测性读、能够

2021-03-12 16:28:54 472 1

原创 面试:Java基础知识点

记录Java中的一些小知识点。1、泛型相关Java泛型类型擦除以及类型擦除带来的问题JAVA 泛型中的通配符 T,E,K,V,?2、==、equals与hashcode基本数据类型==比较的是值,引用数据类型==比较的是内存地址Object.equals()等价于"==",对地址进行判断public boolean equals(Object obj) { return (this == obj);}对象内容判断是否相等,需要重写equals()方法。String已

2021-03-08 15:59:33 367

转载 字符串常量池、class常量池、运行时常量池的联系与区别

为防止网站失效,在此将内容复制下来原文链接1、全局字符串池(string pool也有叫做string literal pool)全局字符串池里的内容是在类加载完成,经过验证,准备阶段之后在堆中生成字符串对象实例,然后将该字符串对象实例的引用值存到string pool中(记住:string pool中存的是引用值而不是具体的实例对象,具体的实例对象是在堆中开辟的一块空间存放的。)。在HotSpot VM里实现的string pool功能的是一个StringTable类,它是一个哈希表,里面存的是驻

2021-03-03 20:27:53 394 2

原创 Spring异步调用传递Request对象问题分析

问题描述:近期在实验室做了个动态插桩工具,在对甲方项目测试过程中,发现对含有线程池异步调用的方法进行插桩时,子线程会报空指针异常。问题原因:动态插桩工具向待测软件注入的代码中包含了如下语句,利用spring提供的方法获取Request与Response对象。ServletRequestAttributes sra$2 = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest r

2020-10-27 22:12:01 2965 1

原创 docker容器创建后新增端口映射

需求场景:目前所做的动态插桩工具需要对 docker 容器中的 java web程序进行插桩,动态插桩工具能够根据 java web程序使用的端口号自动查找 web 程序的进程号,即 pid 。查找 pid 的时候使用了 netstat 命令,而做实验的 docker 容器 demo 中默认是不带有该工具的。1、创建的docker容器中没有netstat命令的解决方式首先进入docker容器,此处不举例了,然后执行以下命令apt-get updateapt-get install net-tools

2020-10-13 16:27:11 4038 1

转载 对于浏览器访问不到docker中的web程序问题解决

原因:docker网卡地址冲突解决:sudo service docker stopsudo ip link set dev docker0 down %关闭docker虚拟网卡sudo brctl delbr docker0sudo iptables -t nat -F POSTROUTINGsudo brctl addbr docker0sudo ip addr add 172.16.10.1/24 dev docker0sudo ip link set dev d

2020-09-30 20:25:06 1849

原创 VUE项目启动

1、使用VUE前需要先安装node.js2、进入项目路径文件夹下3、vue init -f4、使用淘宝的镜像npm install --registry=https://registry.npm.taobao.org

2020-07-25 00:18:15 166

原创 tcpdump获取请求的URL

一、tcpdump示例1、在网口eth0上抓取主机地址为192.168.0.250的所有数据包tcpdump -i eth0 host 192.168.0.2502、在网口eth0上抓取网络地址为192.168.0.0/24的所有数据包tcpdump -i eth0 net 192.168.0.0/243、在网口eth0上抓取源端口为80且目的端口为8080的数据包tcpdump -i eth0 src port 8080 and dst port80二、1、捕捉Get和Post以及

2020-06-23 18:39:11 5466

转载 Centos虚拟机与宿主机时间同步

yum install ntpntpdate cn.pool.ntp.orgntpdate 0.centos.pool.ntp.orgrm /etc/localtimeln -s ../usr/share/zoneinfo/Asia/Shanghai /etc/localtimedateclock -wclock --hctosys原文链接:https://www.cnblogs.com/twodoge/p/11663019.html

2020-06-23 11:53:03 666

原创 含有eureka组件的springboot项目部署到docker中,局域网外无法访问的解决方法

由于容器IP是动态变化的,故不能将其加入宿主机hosts文件,在运行容器时配置相关信息即可解决此问题:docker run --add-host reg.yzd.com:宿主机IP -p 10009:10009 -d 镜像ID–add-host:必须是 域名:宿主机IP *域名必须要配置到宿主机hosts文件中-p 端口必须和dockerfile中一致,因为其他服务需要访问这个域名下对应端口reg.yzd.com 服务注册域名原文链接:https://www.cnblogs.com/lilin

2020-05-13 13:42:38 1088 1

原创 Springboot自己遇到的问题汇总

1、@Autowired与@Component使用时,Autowired注释的对象为null解决:使用spring进行依赖注入时,不能new对象

2020-05-11 00:00:44 371

原创 Linux环境配置Java

1、在制定目录下解压java压缩包tar -zxvf jdk-8u131-linux-x64.tar.gz2、配置环境变量1、编辑profile文件 **如果提示vim命令未安装,可先执行yum -y install vim*命令安装vim**[root@localhost java]# sudo vim /etc/profile2、添加配置: **其中JAVA_HOME为Java的安装位置**编写这个文件需要输入"i"也就是Insert的缩写,然后要保存退出需要按Esc然后再按

2020-05-10 01:06:02 122

原创 CentOs常用命令

在Linux下删除文件用rm命令,具体用法如下:rm [选项] 文件选项说明:-f    -force      忽略不存在的文件,强制删除,无任何提示-i    --interactive    进行交互式地删除-r | -R  --recursive    递归式地删除列出的目录下的所有目录和文件-v    --verbose    详细显示进行的步骤命令实例:1、常规删除a.txt文件[root]# rm a.txt2、强行删除file.log文件[root]#

2020-05-10 00:13:12 177

转载 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoad解决方案

解决方案:其实是你的jar文件没有同步发布到自己项目的lib目录中(如果是用Maven进行构建的话) 可以试试 下面的办法–rebuild下project就可以了项目点击右键 点击 Properties 选择Deployment Assembly 再点击右边的Add按钮 选择Java Build Path Entries后点击Next按钮 然后选择你的Maven Dependencies...

2020-03-04 16:01:30 266

转载 Ubuntn安装搜狗拼音乱码解决

原文链接:https://blog.csdn.net/qq_36556893/article/details/92607479sudo apt-get install -fkillall fcitxsudo rm -rf SogouPYsudo rm -rf SogouPY.userssudo rm -rf sogou-qimpanel

2019-12-13 10:46:56 63

原创 Vmware安装Ubuntn18界面太小问题解决

问题描述:安装了VMware Workstation 15 Player虚拟机,在里面安装Ubuntn18时,界面显示太小,看起来很不习惯。结果:VMware全屏时可以使Ubuntn18大小根据显示器自动调整解决方法:sudo apt-get updateapt-get install open-vm-tools-desktop fuse...

2019-12-12 22:54:52 266

原创 JavaEE环境搭建

JavaEE 环境安装Java安装path: C:\Java\jdk1.8.0_191\binclasspath: .;C:\Java\jdk1.8.0_191\libJava_home: C:\Java\jdk1.8.0_191验证:cmd命令行中输入 java javacTomcat安装path: D:\apache-tomcat-8.5.46\binCatali...

2019-11-11 14:44:50 328 1

原创 Eclipse中的CDT解析C++/C的简单使用

Eclipse中的CDT解析C++/C的简单使用最近在做实验室里的一个项目,需要用到CDT解析C++/C语言文件,网上这类方法太少,在此记录一下使用到的一些与CDT有关的函数与流程。package com.test;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;impo...

2019-07-23 15:44:22 3063 17

javaparser教程

javaparser教程,3.16版本。从官网上下载的。去官网上下载会比较卡,在此下载分享出来。

2020-07-11

空空如也

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

TA关注的人

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