yum配置
yum源描述
yum需要一个yum库,也就是yum源。默认情况下,CentOS就有一个yum源。在/etc/yum.repos.d/目录下有一些默认的配置文件(可以将这些文件移到/opt下,或者直接在yum.repos.d/下重命名)。
首先要找一个yum库(源),然后确保本地有一个客户端(yum这个命令就是客户端),由yum程序去连接服务器。连接的方式是由配置文件决定的。通过编辑/etc/yum.repos.d/CentOS-Base.repo文件,可以修改设置。
yum配置源
首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo
1mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
进入yum源配置文件所在文件夹
1cd /etc/yum.repos.d
配置网易源
CentOS 7
1wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
CentOS ...
Spring(八) Bean生命周期
参考文献
北京某大公司:SpringBean生命周期
深究Spring中Bean的生命周期
小马哥讲Spring核心编程思想
一文读懂 Spring Bean 的生命周期
如何记忆 Spring Bean 的生命周期
Spring系列-路人甲Java
普通Java对象实例化过程
Java源码被编译为class文件;
等到类需要被初始化时(比如说new,反射等);
class文件被虚拟机通过类加载器加载到JVM;
初始化对象供我们使用;
Spring Bean生命周期13个环节
阶段1: BeanDefinition配置阶段
是指在Spring IoC容器中注册一个BeanDefinition对象,而不是Bean的定义本身
Bean信息定义4中方式
API的方式
XML的当时
Properties文件的方式
注解方式
阶段2: BeanDefinition注册阶段
阶段3: BeanDefinition对象解析阶段
BeanDefinition对象的解析主要有3种方式
XML文件定义Bean的解析: XmlBeanDefiniti ...
Spring源码-分析(Spring5.1.x)
Spring源码分析(Spring5.1.x)
参考文献
《轻松读懂spring》之 IOC的主干流程(上)
入口
Spring容器的顶层接口是:BeanFactory,但我们使用更多的是它的子接口:ApplicationContext.
通常情况下,如果我们想要手动初始化通过xml文件配置的spring容器时,代码是这样的:
12ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");User user = (User)applicationContext.getBean("name");
如果想要手动初始化通过配置类配置的spring容器时,代码是这样的:
12AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(Config.clas ...
Java调试-远程调试
Java 远程调试
启动脚本中添加选项,并重启(JavaSE 5以后java -agentlib:jdwp=…)
1JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
JavaSE 5之前(java -Xdebug -Xrunjdwp:…)
1CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=10086,suspend=n,server=y
参数说明
transport
指定运行的被调试应用和调试者之间的通信协议,有如下可选值:
dt_socket: 采用socket方式连接(常用)
dt_shmem:采用共享内存的方式连接,支持有限,仅仅支持windows平台
server
指定当前应用作为调试服务端还是客户端,默认的值为n(客户端)。
如果你想将当前应用作为被调试应用,设置该值为y;如果你想将当前应用作为客户端,作为调试的发起者,设置该值为n。
...
工具-IDEA使用技巧
idea 方法模板
1234567891011 ccmt/** * @Description: * @Author: HoleLin * @CreateDate: $DATE$ $TIME$ * @UpdateUser: HoleLin * @UpdateDate: $DATE$ $TIME$ * @UpdateRemark: 修改内容 * @Version: 1.0 */
SpringBoot中的跨域问题
SpringBoot中的跨域问题
参考文献
Spring Boot 中实现跨域的 5 种方式,你一定要知道!
浏览器的同源策略
详解跨域(最全的解决方案)
CORS
产生跨域问题的原因
主要原因: 浏览器的同源策略(Sameorigin Policy)
同源策略的作用: 同源策略是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。
同源: 若两个URL的协议(protocol)[TCP.HTTP等],端口(port)和主机(host)[域名/IP地址等]都相同,则表示这两个URL是同源的.这个方案也被称为**“协议/主机/端口元组”**,或者直接是 “元组”。
非同源限制:
无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB;
无法接触非同源网页的 DOM;
无法向非同源地址发送 AJAX 请求;
跨域示例
跨域: 协议(protocol),端口(port),主机(host)三者之中任意一个不同,则会导致跨域;
下表给出了与 URL ...
Java基础-集合类-HashMap
参考文献
HashMap源码分析(jdk1.8,保证你能看懂)
理论
HashMap最早是在JDK1.2中出现,直到JDK1.7一直没太大变化,但是到了JDK1.8突然进行了一个很大的改动.其中一个显著的改动就是:
之前JDK1.7的存储结构是数组+链表
到了JDK1.8变成了数组+链表+红黑树.
另外,HashMap是非线程安全的,也就是说多线程同时对HashMap中的某个元素进行增删改操作时,是不能保证数据的一致性的.
在JDK1.7中,首先是把元素放在一个个数组里面,后来存放的数据元素越来越多,于是就出现了链表,对数组中的每个元素,都可以有一条链表来存储元素.这就是有名的"拉链式"存储方法
后来存储的元素越来越多,链表也越来越长,查找一个元素的时候效率不仅没有提高(链表不适合查找,适合增删),反而下降了不少,于是在JDK1.8中对这条链表进行了改进–使用红黑树. 将链表结构编程红黑树,原来JDK1.7的优点是增删效率提高,在JDK1.8中不仅增删的效率提高了,查找的效率也提升了.
核心是基于哈希值的桶和链表
一般用数组实现桶
发生哈希 ...
Kafka-(一)基础理论
参考文献
《面试八股文》之 Kafka 21卷
Kafka常见面试题
Kafka 常见面试题整理
最新基准测试:Kafka、Pulsar 和 RabbitMQ 哪个最快?
kafka专题:kafka的消息丢失、重复消费、消息积压等线上问题汇总及优化
Kafka在中信建投的实战
https://kafka.apache.org/documentation/
什么是消息中间件
消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步,可靠的消息传输的支撑性软件系统;
消息传递技术: 队列和发布-订阅
队列:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人。
发布-订阅:在这个模型中,消息被广播给所有的用户。
消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息排队模型,他可以在分布式环境下扩展进程间的通信.
什么是Kafka
Kafka是分布式发布-订阅消息系统,它最初是由LinkedIn公司开发的,之后成为Apache项目的一部分,Kafka是一个分布 ...
Kafka命令实操
Kafka命令实操
1.启动 broker
1./bin/kafka-server-start.sh -daemon <path>/server.properties
./bin/kafka-server-start.sh <path>/server.properties &
有问题,虽然通过添加&符号使该命令在后台运行,但当用户从回话登出(log out)时该进程会被自动kill掉,从而导致broker关闭
建议使用
nohup .bin/kafka-server-start.sh <path>/server.properties &
验证broker是否正常启动可以通过server.log日志文件查看输出项
2.关闭broker
12345bin/kafka-server-stop.sh或者1. 使用jps命令直接获取Kafka的PID2. 若没有安装JDK,则运行`ps ax|grep -i 'kafka\.Kafka'|grep java|grep -v grep|awk ' ...
firewall
firewalld
firewalld常用命令
启动firewalld服务:
1systemctl start firewalld.service
关闭firewalld服务:
1systemctl stop firewalld.service
重启firewalld服务
1systemctl restart firewalld.service
查看firewalld状态
1systemctl status firewalld.service
开机自启firewalld
1systemctl enable firewalld
查看版本
1firewall-cmd --version
查看帮助
1firewall-cmd --help
显示状态
1firewall-cmd --state
查看所有打开的端口
1firewall-cmd --zone=public --list-ports
更新防火墙规则
12firewall-cmd --reload* 每次更改firewall规则后需重新加载
添加开放端口
1firewall- ...