- 博客(70)
- 收藏
- 关注
原创 Zookeeper 在Windows下的安装过程及查看
一,下载Zookeeper,地址为http://archive.apache.org/dist/zookeeper/,找到你要下载的版本,我下载了这个版本apache-zookeeper-3.6.0-bin.tar.gz:二,下载下来解压后,在根目录添加data和log文件夹三,将conf目录下的zoo_sample.cfg文件,复制一份,重命名为zoo.cfg,修改zoo.cfg配置文件,dataDir和dataLogDir四,设置环境变量ZOOKEEPER_HOME:本.
2020-12-25 16:07:24
2139
原创 springboot 非component读取properties——使用Environment
1. 获取Environmentimport org.springframework.core.env.Environment;@Autowiredprivate Environment environment;或者Environment environment = ApplicationContextUtils.getBean(Environment.class);2. 通过Environment获取property值String ownedPointStr = ..
2020-11-18 11:15:28
1505
原创 SimpleChannelInboundHandler——channelRead0
1. ChannelInboundHandlerAdapter与SimpleChannelInboundHandler的简介在netty4.0.X版本中,ChannelInboundHandlerAdapter是普通类,而SimpleChannelInboundHandler<T>是抽象类。SimpleChannelInboundHandler<T>有一个重要特性,就是消息被读取后,会自动释放资源,常见的IM聊天软件的机制就类似这种。绝大部分场景都可以用Channe...
2020-11-05 11:31:12
5637
原创 nginx高可用之keepalived
什么是高可用高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。如果一个系统能够一直提供服务,那么这个可用性则是百分之百,但是天有不测风云。所以我们只能尽可能的去减少服务的故障。解决的问题?在生产环境上很多时候是以Nginx做反向代理对外提供服务,但是总有一天Nginx难免遇见故障,如:服务器宕机。当Nginx宕机那么所有对外提供的接口都将导致无法访问。虽然我们无法保证服务器百分之百可用,但是也得想办法避免
2020-11-04 13:35:25
199
1
原创 java.net.NoRouteToHostException: No route to host——防火墙关闭
问题:解决步骤:关闭防火墙:serviceiptablesstop查看防火墙状态:service iptables status永久性生效,重启后不会复原开启:chkconfigiptableson关闭:chkconfigiptablesoff即时生效,重启后复原开启:serviceiptablesstart关闭:serviceiptablesstop...
2020-11-04 11:30:35
362
原创 Vmware提示以独占方式锁定此配置文件失败。另一个正在运行的VMware进程可能正在使用配置文件
1、按“win +R”组合键,进入“运行”。2、写入“msconfig”(不包括引号,可直接复制),按回车键。3、进入“系统配置”,选中“服务”,勾选左下角“隐藏所有Microsoft服务”,再打开“全部禁止”,打开“应用”。 4、再打开“服务”边上的“启动”选项,打开“点击任务管理器”。 5、在列出的启动项上,找到VMware点击右键,选中“禁止”,禁止全部启动项。 6、关闭“任务管理器”,返回“系统配置”界面下打开“确定”,依据提示重启电脑。7、电脑重.
2020-11-03 17:48:13
1221
原创 linux虚拟机BIOS禁用Intel VT-x,电脑重启开启CPU虚拟化
安装虚拟机centOS64的时候出现下面这个问题:通过任务管理器查看性能——“CPU”,发现是“已禁用”。解决办法:重启电脑,修改BIOS中CPU的配置重点是“重启电脑”重点是“重启电脑”重点是“重启电脑”重启的过程中才能修改。重启的时候,页面会按提示“F2”或者“DEL”,弹出BIOS,所以,你多按几遍“DEL”就行了。此处不方便截图:步骤如下:选择advanced选项卡,选择CPU部分的配置,慢慢往下拉找到Intel Virtualizatio...
2020-11-03 14:03:50
1432
原创 分布式架构网络通信——netty
简介在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、Hessian、SOAP、ESB和JMS等,它们背后到底是基于什么原理实现的呢1.基本原理要实现网络机器间的通讯,首先得来看看计算机系统网络通信的基本原理,在底层层面去看,网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络IO来实现,其中传输协议比较出名的有tcp、udp等等,tcp、udp都是在基于Socket概念上为某类应用场景而扩展出的传输协议
2020-11-02 11:32:53
930
1
原创 nginx的Web 服务器 HTTP 头文件信息披露解决方案
漏洞描述:调整前:1. 从安装包开始:解压:tar -xvf nginx-1.19.2.tar.gz重命名:mv nginx-1.19.2 nginxcd nginx隐藏server信息vim src/http/ngx_http_header_filter_module.c第49行2. 进入nginx的配置文件目录:cd /usr/local/nginx/conf3. 修改配置文件vim nginx.conf增加server_t..
2020-10-29 16:04:08
6344
2
原创 分布式——Session共享问题
Session共享及Session保持或者叫做Session⼀致性第 1 节 Session问题原因分析出现这个问题的原因,从根本上来说是因为Http协议是⽆状态的协议。客户端和服务端在某次会话中产⽣的数据不会被保留下来,所以第⼆次请求服务端⽆法认识到你曾经来过, Http为什么要设计为⽆状态协议?早期都是静态⻚⾯⽆所谓有⽆状态,后来有动态的内容更丰富,就需要有状态,出现了两种⽤于保持Http状态的技术,那就是Cookie和Session。⽽出现上述不停让登录的问题,分析如下图:场景: ngi
2020-10-27 17:25:13
137
1
原创 分布式——集群时钟同步配置
集群时钟同步思路1. 分布式集群中各个服务器节点都可以连接互联⽹思路:操作⽅式:#使⽤ ntpdate ⽹络时间同步命令ntpdate -u ntp.api.bz #从⼀个时间服务器同步时间windows有计划任务Linux也有定时任务, crond,可以使⽤linux的定时任务,每隔10分钟执⾏⼀次ntpdate命令2. 分布式集群中某⼀个服务器节点可以访问互联⽹或者所有节点都不能够访问互联⽹思路操作⽅式:1)选取集群中的⼀个服务器节点A(172.17.0..
2020-10-27 17:10:05
385
原创 分布式集群架构作业
作业一:1)基于SpringBoot整合SSS框架(即整合第一阶段模块三作业第二题内容,含有登录拦截验证)2)在 1 的基础上开发SpringSession进行Session一致性控制3)将工程打成war包4)将war包部署到分布式集群架构中,要求一个Nginx节点,两个Tomcat节点 —> Nginx(轮询策略) —> Tomcat1—> Tomcat25)完成测试注意:作业提交时提交可运行的工程代码(源代码和war包)以及sql脚本,nginx配置...
2020-10-27 16:43:32
355
2
原创 Nginx使用自签证书的操作文档整理
Nginx操作文档整理1. 下载:2. 安装相关依赖包yum install -y gcc pcre-devel openssl-devel zlib-devel3. 创建nginx用户,解压源码包,开始编译安装解压:tar -xvf nginx-1.19.2.tar.gz 重命名:mv nginx-1.19.2 nginxcd nginx编译的时候用来指定程序存放路径:./configure --prefix=/usr/local/ngin...
2020-10-20 11:57:54
481
1
原创 Tomcat体系结构
Tomcat能够接收并处理Http请求,同时它按照servlet规范实现了servlet容器,所以它即是http服务器也是servlet容器。我们发现tomcat有两个非常重要的功能需要完成1)和客户端浏览器进行交互,进行socket通信,将字节流和Request/Response等对象进行转换2) Servlet容器处理业务逻辑其实,也可以认为整个Tomcat就是一个Catalina实例, Tomcat 启动的时候会初始化这个实例, Catalina实例通过加载server....
2020-10-20 11:32:49
204
原创 IDEA工具配置Springboot的热部署
Springboot的热部署你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖
2020-10-12 11:48:09
103
原创 Spring Data JPA 框架
前言Spring Data Jpa 是应⽤于Dao层的⼀个框架,简化数据库开发的,作⽤和Mybatis框架⼀样,但是在使⽤⽅式和底层机制是有所不同的。最明显的⼀个特点, Spring Data Jpa 开发Dao的时候,很多场景我们连sql语句都不需要开发。由Spring出品。第⼀部分 Spring Data JPA 概述什么是 Spring Data JPASpring Data JPA 是 Spring 基于JPA 规范的基础上封装的⼀套 JPA 应⽤框架,可使开发者⽤极简的代码即可实现对数据库
2020-09-29 18:10:32
2417
原创 Spring MVC ⾼级技术
第 1 节 拦截器(Inteceptor)使⽤1.1 监听器、过滤器和拦截器对⽐Servlet:处理Request请求和Response响应过滤器(Filter):对Request请求起到过滤的作⽤,作⽤在Servlet之前,如果配置为/*可以对所有的资源访问(servlet、 js/css静态资源等)进⾏过滤处理监听器(Listener):实现了javax.servlet.ServletContextListener 接⼝的服务器端组件,它随Web应⽤的启动⽽启动,只初始化⼀次,然后会⼀直运⾏监视,随W
2020-09-29 17:59:41
188
原创 springmvc的应用
1. MVC设计模式MVC 全名是 Model View Controller,是 模型(model)-视图(view)-控制器(controller) 的缩写, 是⼀种⽤于设计创建 Web 应⽤程序表现层的模式。 MVC 中每个部分各司其职:Model(模型):模型包含业务模型和数据模型,数据模型⽤于封装数据,业务模型⽤于处理业务。View(视图): 通常指的就是我们的 jsp 或者 html。作⽤⼀般就是展示数据的。通常视图是依据模型数据创建的。Controller(控制器): 是应⽤程序中处理
2020-09-29 17:30:25
222
原创 spring的延迟加载机制原理
lazy-init 延迟加载机制分析普通 Bean 的初始化是在容器启动初始化阶段执⾏的,⽽被lazy-init=true修饰的 bean 则是在从容器⾥第⼀次进⾏context.getBean() 时进⾏触发。Spring 启动的时候会把所有bean信息(包括XML和注解)解析转化成Spring能够识别的BeanDefinition并存到Hashmap⾥供下⾯的初始化时⽤,然后对每个BeanDefinition 进⾏处理,如果是懒加载的则在容器初始化阶段不处理,其他的则在容器初始化阶段进⾏初始
2020-09-22 14:22:03
949
原创 Spring 声明式事务的⽀持
编程式事务: 在业务代码中添加事务控制代码,这样的事务控制机制就叫做编程式事务声明式事务: 通过xml或者注解配置的⽅式达到事务控制的⽬的,叫做声明式事务1 事务回顾1.1 事务的概念事务指逻辑上的⼀组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功。从⽽确保了数据的准确与安全。例如: A——B转帐,对应于如下两条sql语句://2.执⾏切⼊点⽅法rtValue = pjp.proceed(args);//后置通知System.out.println("后置通知");}cat
2020-09-22 14:15:28
141
原创 自定义@Service、@Autowired、@Transactional注解类和声明式事物
自定义@Service、@Autowired、@Transactional注解类,完成基于注解的IOC容器(Bean对象创建及依赖注入维护)和声明式事务控制,写到转账工程中,并且可以实现转账成功和转账异常时事务回滚首先对注解类进行开发:写自定义注解的代码,在写之前需要先了解以下两个元注解:@Target:@Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员
2020-09-22 14:11:18
4074
8
原创 谈谈对spring的IOC和DI的理解
1.1 什么是IoC?IoC Inversion of Control (控制反转/反转控制),注意它是⼀个技术思想,不是⼀个技术实现。描述的事情:Java开发领域对象的创建,管理的问题。在传统的开发方式中,如果A依赖B,我们一般在类A中new B对象。但是,有IOC容器,我们虽然失去了管理和创建对象的权利,但是也获得了不去管理和创建对象的福利。为什么叫做控制反转?控制:指的是对象创建(实例化、管理)的权利反转:控制权交给外部环境了(spring框架、IoC容器)1.2 IoC..
2020-09-07 18:28:40
388
原创 Mybatis自定义持久层框架
自定义持久层框架本质就是对JDBC代码进行了封装,下面我们结合test的模块一起进行详细解说:首先,在test模块编写配置文件,主要包括数据源和sql配置两部分:Test模块通过 “Resources.getResourceAsStream”加载配置文件“SqlMapConfig.xml”的路径,该配置文件中已包含sql配置文件的路径“UserMapper.xml”。持久层框架中,Resources 类的getResourceAsStream方法,会根据配置文件的路径,加载配置文件成字节输入
2020-09-07 10:38:56
321
原创 spring 连接oracle数据库的代码
用户名和密码要重新填:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns
2017-09-02 14:48:26
3235
原创 spring AOP
将 aopshow对象配置到spring容器中.以下为aop:config:proxy-target-class 属性值被设置为true,那么基于类的代理将起作用(这时需要cglib库)。如果proxy-target-class属值被设置为false或者这个属性被省略,那么标准的JDK 基于接口的代理将起作用。pointcut:切入点 expression="executio
2017-09-02 09:58:28
154
转载 Oracle安装
一、 Oracle安装:1、 注意事项:1)Oracle安装软件必须和操作系统匹配2)计算机名称、用户名、路径目录不能为中文 3)安装时将选择磁盘空间剩余最大的为默认磁盘4)安装时需输入数据库名称和密码2、 安装步骤(截图):图1)双击“setup.exe”文件弹出“图2”效果 图2) 运行安装程序Setup.exe,系统将启动Oracle Un
2017-08-05 16:10:35
276
原创 oracle用户创建及权限设置
权限: create session //登陆权限 create table //创建表的权限 unlimited tablespace // 表空间的权限 Connect //终用户的典型权利,最基本的 Resource //是授予开发人员的 dba 例: #sqlplus /nolog SQL> conn / as sysdba;
2017-08-05 16:08:31
223
原创 Win7下完全卸载Oracle 11g的步骤
1 右击“计算机”-->管理-->服务和应用程序-->服务,停掉所有Oracle相关的服务(以Oracle打头的,比如OracleDBConsoleorcl)。2 开始-->所有程序-->Oracle-->Oracle安装产品-->Universal Installer,“欢迎使用”界面启动后,卸载产品-->展开Oracle主目录下的OraDb11g_home1-->勾选Oracle D
2017-08-05 16:07:07
265
原创 复制表
1. 复制一张表, (结构+表中的内容)create table teacher_bak as select * from teacher;2.插入来自其他表的记录insert into A表 select a,b,c from B表;3. 只复制一张表的结构create table teacher_bak as select * from teacher where 1=2;
2017-08-05 15:53:17
357
原创 truncate , delete ,drop 三个删除之间的区别
truncate快速删除记录并释放空间,不使用事物处理,因此无法回滚.而delete命令可在执行删除之后,通过rollback撤销删除. truncate将删除表中所有的记录,而delete命令不仅删除表中的所用记录,还可以根据where条件选择性的删除记录. drop table语句用于将整个表的结构都删除,不仅仅删除表中的所有记录. 另外, “drop tablespace”语
2017-08-05 15:38:04
1769
开源数据库postgresql在统信系统上的离线安装shell脚本
2024-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅