自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阳光码术-Java面试宝典

阳光码术-Java面试宝典

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

原创 zookeeper

Zookeeper的工作原理是什么?[面试7.0]Zookeeper的ZAB协议Zookeeper使用ZAB协议保证数据的一致性,ZAB协议是一种支持崩溃恢复的原子广播协议,它包括两种模式:广播模式(同步): 客户端的事务请求到达Leader时,首先生成事务提案(Proposal),每一个Proposal有一个ZXID向所有Follower发起事务提案广播并等待Follower的ack确认,若有过半ack已经确认,就可以向所有Follower发起Commit事务(2PC必须要等到所有的参与者反馈ack

2022-01-28 20:00:09 2290

原创 Java基础-Hashmap1.8

JDK1.8的HashMap数据结构和原理[面试9.9]?数据结构?数组+链表+红黑树数组?空间连续,查询快,但是插入和删除较慢,因为要移动元素链表?增加删除快,因为是内存地址指针,查找慢,因为需要按顺序依次查询红黑树: 一种平衡的二叉树,以O(log2(n))的时间复杂度进行搜索,插入,删除等操作hashmap数据结构-原理hashmap1.8数据结构-视频key是怎么进行hash运算的?若key为空直接返回0若key不为空才进行运算,key取hashCode的值(32位)向右移16位得到的值和该h

2022-01-27 21:43:14 557

原创 java线程池-设置线程数

怎么设置线程数以达到最佳运行效果?[面试7.0]获取CPU核心数量N(在Cpu占用过高时,应该设法降低每个任务的处理时间,避免Cpu占用过高的原则下设计一下这些参数的值)Cpu密集型: 比较消耗CPU资源,计算型的设置为(核心线程数): N+1->加一是因为防止CPU处于空闲,充分利用CPU空闲核心IO密集型: 大部分时间处理IO,这时不占用CPU,可以多配置一些线程设置为(核心线程数): 2N+1定时推送: 设置为(核心线程数): N*(1+WT)/ST,其中WT是线程等待时间,ST是线程运行时

2022-01-27 21:38:39 1407

原创 java面试题-攻击方式

跨站请求伪造攻击(CSRF)是怎样的?[面试9.0]CSRF防御: 关键操作采用Post->可以减少被CSRF关键操作加入验证码->可以减少一大部分被CSRF的可能性,但用户体验不友好服务端加入Referer验证,但黑客依然会利用伪造Referer的方式攻击,这时就需要加入Anti CSRF Token来解决Anti CSRF Token: 使用一个随机的Token保存在客户端页面上,提交到服务器后,验证服务端保存的这个Token值和该值是否匹配Header里加入一些参数: 原理和Anti

2022-01-26 11:23:35 100

原创 java启动命令中-D和--的区别

D这是JVM参数使用例子:-D 要放到 -jar 前面,否则参数无效。

2023-10-07 09:09:58 407

原创 主流MQ的对比

kafka rocketmq

2023-08-11 15:51:40 152

原创 Lucene, Solr, Elasticsearch的区别

Lucene, Solr, Elasticsearch的区别

2023-08-11 15:49:52 168

原创 Hyper-v安装Linux

选择代数。

2023-07-24 17:35:13 219

原创 nacos分享-注册中心

如上chabaidao.nacos.hualala.com这个地址在host配置成了127.0.0.1了,说明可以在本地开一个nacos并使用本地nacos提供配置和注册服务,端口8848是Nacos默认端口。如果nacos服务里面没有手动创建对应的名称空间,那么你是看不到注册上去的服务的。服务1->通过网关->根据ServerName(服务名)找到对应服务->调用服务2。负载均衡是前端到代理层然后再到网关,网关再调用微服务是走的负载均衡。如果是feign客户端和feign服务端调用是不走网关的。

2023-03-22 17:22:43 72 1

原创 nacos分享-配置中心

Nacos的yml配置pom.xml的配置(使得nacos支持动态环境)

2023-03-22 17:20:32 143

原创 eclipse错误之Git连不上

2.可能确实需要设置在git Configuration 里面设置http.sslVerify=false,还有可能是eclipse.ini确实需要配置-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2。解决:Internet选项->连接->局域网设置->消勾(代理服务器下的为LAN使用代理服务器…其中第二项,其实不太可能,因为我没有设置这两项也是可以用的。1.有可能是由于代理软件引起的,自动将系统代理勾上了。

2023-01-10 09:42:00 935

原创 cygwin

http://mirrors.163.com/cygwin/x86_64(选择包时不要按确定,不然还没选好时会直接安装)

2023-01-10 09:39:45 94

原创 eclipse错误之Ctrl点不进去

1.可能是由于子maven项目的父maven项目用了大写的文件夹名称,当导入子项目时没问题,一旦把父项目导入eclipse后就点不进去了。2.由于General Editors下的Hyperlinking相关项被关闭了。

2023-01-10 09:31:17 1433

原创 eclipse错误之Bean冲突

eclipse的maven项目如果没有src的main的话,是不自动构建更新target的,这种情况容易产生遗留class。若这个class正好是一个Bean,Spring启动就报两个Bean冲突的问题。

2023-01-10 09:01:57 148

原创 Mybatis防止Sql注入

Mybatis用#{}时->使用了PrepareStatement去编译SqlPrepareStatement编译Sql时,prepareStatement.setString对如图做了如: ‘’'的转义

2022-12-06 19:59:18 236

原创 linux的Java运行

Process proc = Runtime.getRuntime().exec(“exefile”);# WindowsProcess proc = Runtime.getRuntime().exec(“./exefile”);# LinuxString[] cmd = {“cmd”,“/C”,“copy exe1 exe2”};# WindowsProcess proc = Runtime.getRuntime().exec(cmd);# WindowsString[] cmd = {“/bin/s

2022-11-22 16:49:06 548

原创 linux的Java配置

2.修改.bash_profile文件(某个用户权限使用这些环境变量时用)1.修改/etc/profile文件(全局所有用户)3.shell终端执行下列命令(临时用)vi 此文件/etc/profile。

2022-11-22 16:47:59 414

原创 linux邮件发送

echo “我的测试邮件邮件内容,请查收” | mail -v -c “[email protected],[email protected]” -s “邮件标题” -a /D/test/fujian.zip [email protected]。echo “我的测试邮件邮件内容,请查收” | mail -v -c “[email protected],[email protected]” -s “邮件标题” [email protected]

2022-11-18 18:13:07 1343

原创 MySql死锁

加锁失败且出现环时触发死锁可以利用分布式锁保证数据库的多表操作按顺序执行可以将事务拆分为多个小事务,分别提交,再做状态重放的补偿机制只要事务维持锁和等待锁形成环路即出现死锁。

2022-11-18 18:12:27 451

原创 linux系統修复

Linux修复1.启动时报错unexpected inconsistency run fsck manually。

2022-11-17 10:44:43 73

原创 linux系統分区

Linux分区。

2022-11-17 10:43:13 256

原创 linux定时任务

定时任务需要crond服务的支持,默认是开机启动的自己启动可以用: service crond restart。

2022-11-17 10:42:20 286

原创 linux配置环境变量

在PATH=“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"最后加入”:/usr/local/test/bin"2.输入"source ~/.bashrc"命令,立即生效。1.关闭当前终端窗口,重新打开一个新终端窗口就能生效。通过修改environment文件。用户局限:仅对当前用户。用户局限:仅对当前用户。用户局限:对所有用户。用户局限:对所有用户。

2022-11-17 10:41:22 371

原创 linux命令Top

用top简单查看一下(可以看到Cpu占用高的那个PID),或用命令:ps H -eo pid,tid,pcpu | sort -n -k 3。查看线程的详细信息:cat /proc/进程号(pid)/task/线程号(tid)/status。

2022-11-17 10:40:38 157

原创 linux命令ln

建立同步链接如:mkdir /usr/X11R6 -pmkdir /usr/X11R6/lib -pcd /usr/X11R6/libln -s /usr/share/X11 X11进入:/usr/X11R6/lib,然后运行rm X11并输入y确定即可他会提醒你是否删除链接符号?,这样删除后不会删除/usr/share/下的X11

2022-11-17 10:39:52 83

原创 linux命令grep

(6)grep -w pattern files:只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’)(4)grep magic /usr/src #显示/usr/src目录下的文件(不含子目录)包含magic的行。(5)grep -r magic /usr/src #显示/usr/src目录下的文件(包含子目录)包含magic的行。(3)grep ‘[a-z]{5}’ aa #显示所有包含每行字符串至少有5个连续小写字符的字符串的行。

2022-11-17 10:39:35 233

原创 linux命令find

(1)find /tmp -size +10000c -and -mtime +2 #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件。(2)find / -user fred -or -user george #在/目录下查找用户是fred或者george的文件。(8)find / -size +10000c #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB),-and(-a),-or(-o)

2022-11-17 10:39:04 94

原创 linux命令

startx。

2022-11-17 10:38:33 174

原创 linux虚拟机主机和子系统网络连接

虚拟机的网络选择的是桥接网卡,网卡名称是要能正常连接网路的那个(可以在windows网络设置中看一下先)特别注意: BOOTPROTO为dhcp时只能虚拟机设置子机的网络为网络地址转换(NAT),若为none或static都可以设置为桥接网卡按如下修改和添加项TYPE=“Ethernet” ->(必选)

2022-11-17 10:36:13 810 1

原创 linux操作sshd

只需要将启动命令添加到/etc/rc.local文件中或者/etc/rc.d/rc.local文件中添加内容如下:vi /etc/rc.localservice sshd startvi /etc/profileexport TMOUT=0source /etc/profileecho $TMOUT修改sshd配置为60秒向客户端发起检验活动状态,客户端正常会响应,超过3次客户端不响应则自动断开cd /etc/sshcp sshd_config sshd_config.baksed -i “s/

2022-11-16 11:19:22 256

原创 linux操作Yum

D:\workspacejava\aco-pro\experience\noun\linux\linux安装\linux安装Yum.txt。

2022-11-16 11:09:56 257

原创 linux操作Vim

右键,或在左上角的菜单栏中选择->Open In Terminal(打开终端)系统->首选项->文件管理->行为->总是在浏览器窗口中打开打上勾。5.安装lrzsz(安装后可以用Crt上传或下载文件)+回车->不保存,:wq+回车->写入。2: shift+i变为插入,esc退出插入。3.linux设置浏览器窗口打开模式。6.添加用户该用户允许查看的目录。

2022-11-16 11:09:26 232

原创 linux操作Swap

dd if=/dev/zero of=/home/swap bs=1024 count=1024000 # 创建/home/swap这么一个分区文件,文件的大小是1024000个block,一般情况下1个block为1K,这里空间是1024M(通常Swap空间的大小应设置为物理内存的2-2.5倍)修改/etc/fstab,增加如下一行。

2022-11-16 11:08:42 383

原创 linux操作Rpm

rpm -qa。

2022-11-15 13:46:01 351

原创 linux操作MySql

UPDATE mysql.user SET password=PASSWORD(‘1’) WHERE User=‘root’;select Host,User,Password from mysql.user;update mysql.user set Host=‘%’ where Host=‘127.0.0.1’;update mysql.user set Host=‘%’ where Host=‘localhost’;flush privileges;-A INPUT -m state --state

2022-11-15 13:45:31 260

原创 linux操作Ip

安装:rpm -ivh *.rpm卸载:rpm -e packgename注意:其中packagename如apache-devel-3.1.12-i386.rpm的packagename是:apache-devel参数含义:i是安装,v是校验,h是显示安装进度源码安装方式:rpm -rebuild *.src.rpm->cd /usr/src/dist/RPMS->rpm -ivh *.rpm源码卸载方式:rpm -e packgename。

2022-11-14 22:22:50 59

原创 linux操作压缩软件

安装:rpm -ivh *.rpm卸载:rpm -e packgename注意:其中packagename如apache-devel-3.1.12-i386.rpm的packagename是:apache-devel参数含义:i是安装,v是校验,h是显示安装进度源码安装方式:rpm -rebuild *.src.rpm->cd /usr/src/dist/RPMS->rpm -ivh *.rpm源码卸载方式:rpm -e packgename。

2022-11-14 09:54:48 360

原创 linux操作防火墙

A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT # 加入这一行打开21端口。

2022-11-14 09:54:01 167

原创 linux操作端口

netstat -anpnetstat -anp |grep 8080lsof -i:8080kill -9 $(lsof -t -i:8080)

2022-11-10 17:02:11 80

原创 linux操作编码

convmv -f gbk -t utf8 -r --notest /D/test # 将指定目录下的源文件编码为gbk的转化为utf8(–notest: 表示马上执行)iconv -f gbk -t utf8 /D/test.txt > /D/test.txt # 将指定文件源编码为gbk的内容转化为utf8。

2022-11-10 17:00:58 72

mybatis-plus练习项目包括Mapper的配置以及枚举配置等 简单项目,仅仅是用法

mybatis-plus练习项目包括Mapper的配置以及枚举配置等 简单项目,仅仅是用法

2022-11-18

Jquery1.4 中文帮助文档

最好的Jquery1.4中文帮助文档, 2010年1月22日,更新至JQuery 1.4版本,本版是参考shawphy的1.4在线版本(http://jquery-api-zh-cn.googlecode.com/svn/trunk/xml/jqueryapi.xml)制作

2010-06-11

空空如也

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

TA关注的人

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