自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(84)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 【设计模式】设计原则-开闭原则

当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。

2023-07-26 10:26:35 468

原创 【设计模式】设计原则-里氏替换原则

任何基类可以出现的地方,子类一定可以出现。通俗理解:子类可以扩展父类的功能,但不能改变父类原有的功能。换句话说,子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。

2023-07-26 09:36:48 548

原创 【设计模式】设计原则-单一职责原则

类的职责是站在其它类的角度来定义的类的职责包含多个相关功能因此,SRP 可以翻译为 一个类只负责一组相关的事 , 对应到代码中就是:一个类有多个方法,这些方法是相关的有了这个定义,我们再来看看学生信息管理类, 很明显,它具有的 4 个功能都是和 管理 相关的,按照 SRP 应该只设计一个学生信息管理类就可以了。

2023-07-24 20:16:53 328

原创 数据库之mysql与oracle比较

数据库之mysql与oracle比较1. 比较2. 行级锁3. 悲观锁与乐观锁4. @Transactional注意点1. 比较项目mysqloracle对事务的提交自动提交需要手动提交,commit事务隔离级别repeatable-read,可重复读read commit, 读已提交对事务的支持在innodb存储引擎的行级锁的情况下才可支持事务完全支持事务存储引擎Innodb(B+树),myISAM(B+树), memory无, B-树应用

2021-07-21 16:32:08 393

原创 java锁(一) synchronized与reentrantLock比较

synchronize与reentrantLock比较项目synchornizereentrantLock原理Synchronized进过编译,会在同步块的前后分别形成monitorenter和monitorexit这个两个字节码指令。在执行monitorenter指令时,首先要尝试获取对象锁。如果这个对象没被锁定,或者当前线程已经拥有了那个对象锁,把锁的计算器加1,相应的,在执行monitorexit指令时会将锁计算器就减1,当计算器为0时,锁就被释放了。如果获取对象锁失败,那当

2021-07-21 11:25:25 136

原创 nginx根据url参数重定向

nginx根据url参数重定向1. 判断url路径2. 判断url参数其他参数待完善1. 判断url路径location / { if ($args ~* "/product-list?param1=val1&param2=val2") { rewrite ^ http://www.mysite.com/product-list/$arg_param1/$arg_param2? last; }}2. 判断url参数if ($arg_path = 'abc'

2021-07-20 13:25:11 4051

原创 docker-compose小技巧记录

docker-compose新增目录挂载,容器不自动创建目录####容器没有放数据存储###vi docker-compose.yml 增加一个挂载目录sudo /usr/local/bin/docker-compose -f docker-compose.yml stop #停止现有的docker-composesudo /usr/local/bin/docker-compose -f docker-compose.yml down --volumes sudo /usr/local

2021-06-08 14:13:52 162

原创 docker可视化工具portainer

使用docker-compose安装docker可视化工具概述使用1. 编辑docker-compose.yml文件2. 运行3. 管理界面概述Portainer:优点(1)支持容器管理、镜像管理(导入、导出)。(2)轻量级,消耗资源少。(3)基于docker api,安全性高,可指定docker api端口,支持TLS证书认证。(4)支持权限分配。(5)支持集群。(6)github上目前持续维护更新。缺点(1)N/A结论: portainer功能完善,目前持续维护更新使

2021-05-27 10:43:33 459

原创 JVM在OOM日志排查

JVM在遇到OOM(OutOfMemoryError)时生成Dump文件-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/path/heap/dump/$1-heapdump.hprof-XX:+HeapDumpOnOutOfMemoryError : OOM时转储dump文件-XX:HeapDumpPath=/path/heap/dump/$1-heapdump.hprof : OOM时转储文件...

2021-05-26 15:33:25 1652

原创 docker-compose构建nginx

docker-compose构建nginx目录前置构建docker-compose文件运行docker-compose文件访问nginx目录前置参考前面博文,创建Dockerfile文件,构建本地镜像Dockerfile构建nginx构建docker-compose文件创建docker-compose文件夹,复制nginx的配置文件到新文件夹mkdir /usr/local/docker/nginx-docker-composecp -r /usr/local/docker/dock

2021-04-24 10:45:51 1043

原创 Dockerfile构建nginx并挂载

dockerfile构建nginx并挂载目录构建本地配置文件Dockerfile构建nginx镜像目录构建本地配置文件参考 docker构建nginx并挂载 , 创建配置文件新建 docker-file-test目录# 创建dockerfile文件夹mkdir /usr/local/docker/docker-file-test# 拷贝配置文件到docker-file-test文件夹cp /usr/local/docker/nginx-test/* /usr/local/docker/do

2021-04-24 10:44:44 534

原创 docker运行nginx并挂载本地目录

docker运行nginx并挂载本地目录docker运行nginx并挂载本地目录从hup上pull镜像创建将要挂载的目录创建配置文件如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入docker运行nginx并挂载本地目录从hup上pull镜像docker pull n

2021-04-15 16:54:50 561

原创 docker常用命令

# 基本操作 docker run -d -p 物理端口1:容器端口1 -p 物理端口2:物理端口2 --name 容器名 <image-name>:<tag>docker exec -it 容器名/ID bash # 磁盘挂载 docker run -d -p 8080:80 -v 本机路径:容器路径 --name 容器名 <image-name>:<tag> # 容器打包镜像 docker commit -a "作者" -m "备注" 容.

2021-02-04 14:20:17 81

原创 JDK源码学习(一)List集合

1. List接口继承了Colletion接口,为什么List接口里,将Collection接口的所有方法复制了一遍?功能不一样,比如同为add方法,Collection的add,只保证集合中有这个元素,而List的add方法,将参数保存到容器对象的末尾。如果子类实现List接口,就需要遵守List的javadoc规范,如果子类实现Collection接口,就需要遵守Collectio...

2019-11-06 11:02:41 104 1

原创 跨域:The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed

the access-control-allow-origin header contains multiple values but only one is allowed, Origin 'http://localhost:63342' is therefore notallowed access.问题原因:配置了多个跨域,nginx配置了一层跨域,代码里又配置了一层跨域。导致head...

2018-10-25 16:30:59 15074 3

原创 logstash整合kafka

1. 准备工作logstash版本:6.1.1es版本:6.1.1kibana版本6.1.1kafka版本:0.8.2.12. 环境搭建略3. 在pom.xml中依赖&lt;dependency&gt; &lt;groupId&gt;net.logstash.logback&lt;/groupId&gt; &lt;a...

2018-07-23 17:22:23 1661

原创 aliyun搭建kafka,外网无法访问

阿里云上部署kafka后,远程总是无法访问,本地机器可以。确定是网络配置的问题,所以在server.properties 做如下修改:host.name=阿里云内网地址 #kafka绑定的interfaceadvertised.listeners=PLAINTEXT://阿里云外网映射地址:9092 # 注册到zookeeper的地址和端口...

2018-07-03 15:59:00 3109 3

原创 远程访问kibana界面被拒绝

linux搭建kibana环境后,远程访问,被拒绝解决办法:1. 检查端口是否开放;2. 修改config下面的配置文件,因为Kibana 5.x 默认占用的地址是localhost(127.0.0.1)将$KIBANA/config/kibaba.yml下的server.host: "localhost" 更改为server.host: "0.0.0.0" 就可以了...

2018-06-28 11:41:12 15333 5

原创 springcloud--日志链路追踪之log4j2

传统的log4j,同步打印日志,同时输出许多条日志记录,会采用抢占式,谁先得到输出机会,先打印某条日志。log4j2,异步打印日志,业务线程将日志输出存放到一个无锁化环形队列(RingBuffer),log4j2的异步线程会从该队列中读取日志,并进行持久化。该环形队列,可以设置缓冲区大小,以及队列满了后,将debug/info/error/trace中某个级别的日志进行剔除。使用:maven依赖&...

2018-06-28 08:28:24 4574 1

原创 springboot中打印http请求的日志

1. 技术选项:logbook2. 使用方法a. 导入logbook的maven依赖&lt;logbook.version&gt;1.3.0&lt;/logbook.version&gt;&lt;dependency&gt; &lt;groupId&gt;org.zalando&lt;/groupId&gt; &lt;artifactId&gt;...

2018-06-26 08:24:14 12764

原创 linux启动服务同时显示日志到屏幕

nohup command &amp; tail -f nohup.out

2018-04-03 18:12:07 2708

原创 dubbo2.8.4的各种坑记录

从dubbo2.5.3升级到2.8.4,出现各种问题,在此记录一下,仅供参考。1. dubbo支持jdk 1.8及以上,注意jdk版本;2. 调用rest报错严重: Error processing requestjava.lang.NoSuchMethodError: javax.servlet.ServletContext.getEffectiveSessionTra

2017-12-03 21:35:35 6302 1

原创 ThreadPoolExecutor的简单例子

public class ThreadPoolTest { public static void main(String[] args) { BlockingQueue queue = new ArrayBlockingQueue(10000) ; System.err.println(Runtime.getRuntime().availableProcessors());

2017-10-26 09:56:56 810

原创 activeMQ集群环境搭建

1. 集群方案:因为测试使用,同一台服务器192.168.89.129服务器上,同时部署3个activeMQ,进行集群。2. activeMQ下载地址:3. 在usr/local目录下建立文件夹activemq-cluster ,将压缩包解压到activemq-cluster目录下3次,分别命名为node1,node2,node3.mkdir /usr/

2017-09-27 14:13:01 1122

原创 zookeeper集群搭建

说明:提供服务的机器数量2*n + 1 奇数台 至少要超过半数,zookeeper才可以提供服务,因为Zookeeper只允许半数宕机。 操作步骤:1. 本人使用的是zookeeper3.4.5、centOS6.5,下载地址:2. 集群方案:3.  解压zookeeper-3.4.5到/usr/local目录下面,重命名目录为zookeeper;cd /root

2017-09-27 08:39:22 233

原创 java读取zookeeper中的配置文件信息

public static void main(String[] args) { String connectString = "127.0.0.1:2181"; int sessionTimeout = 4000; Watcher watcher = new Watcher() { public void proce

2017-09-20 10:03:30 4074

原创 java编程思想-----笔记(二)____操作符+流程控制

1.  静态导入        使用静态导入可以使被导入类的静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名        过度地使用静态导入会在一定程度上降低代码的可读性。package com.thinking.chapter_02;public class StaticClass { public static void print(String

2017-07-10 09:37:28 447 1

原创 java编程思想-----笔记(一)____万物皆对象

1. java中的就近原则class Demo{ static int i = 12 ; static void print(){ //优先局部,然后成员 int i = 123 ; i = 1233 ; System.out.println(i); //此时Demo中static的i变量的值,仍为12 }}话说编译器都识别出来了,有木有...

2017-07-04 11:10:29 400

转载 springmvc配置多视图解析器

viewResolver的定义如下:public interface ViewResolver { View resolveViewName(String viewName, Locale locale) throws Exception; }在spring 中,常用的ViewResolver 有如下几种:InternalResourc

2017-06-29 08:58:39 1810

原创 hibernate小知识点总结--持续更新

1. hibernate中只更新部分字段hibernate中如果直接使用update 或者 saveOrUpdate方法,会把表中所有的字段更新一遍。但是修改时,form表单只提交需要更新的字段.解决方法:在不需要更新的字段(如创建时间,id)上,加上updae="false"示例:注解方式@Column(name="created_time",updatable=fa

2017-06-09 08:51:20 373

原创 mysql无法执行某些语句,并自动断开服务连接问题

错误提示:org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet su

2017-06-08 22:03:55 1991 3

转载 用Mysql5.6出现时间问题Incorrect datetime value: '' for column 'createtime'

解决方法如下:找到你项目中的mysql-connector-Java的架包将此更新到最新版本,我目前项目使用的环境是:java7,使用的jar包是:mysql-connector-java-5.1.31.jar经过我的测试没有问题。如果你的环境是java6,这个jar也是可以的。完成

2017-06-05 22:40:29 2108

原创 存储过程--oracle,sqlserver示例

oracle版本create or replace procedure test_procedure_002 as childTempId varchar(200) ; parentId varchar(200) ; topParentId varchar(200) ; CURSOR l_c1 is select id,menu

2017-05-23 17:22:13 728

转载 sql---distinct显示多个字段,去重复

众所周知,distinct可以列出不重复的记录,对于单个字段来说distinct使用比较简单,但是对于多个字段来说,distinct使用起来会使人发狂。而且貌似也没有见到微软对distinct使用多字段的任何说明。下面就提供了一种方法可以在使用distinct的时候同时使用多个字段。select 要使用字段1,要使用字段2 from 表名 where id in (select min(id)

2017-05-13 16:59:40 33796

原创 spring进阶(四)-- mybatis驼峰命名功能

mybatis支持属性使用驼峰的命名mapUnderscoreToCamelCase:是否启用下划线与驼峰式命名规则的映射(如first_name => firstName)开启:mybatis-config.xmlseckillId --> 类别名:在spring-dao.xml中进行配置 <!-- 扫描entity包

2017-05-06 18:39:34 12335 2

原创 spring进阶(三)--bean自动注入混乱的问题

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.

2017-05-04 16:12:58 795

原创 nginx+tomcat集群

1. 搭建nginx环境-----省略2. linux下启动多个tomcat参加:http://blog.csdn.net/hdblocal/article/details/704837003. 在tomcat的webapps/ROOT文件夹下创建test.jsp   每个tomcat的test.jsp写入不同的内容4. 修改nginx的conf目录下的

2017-04-23 10:50:56 344

原创 linux下同时启动多个tomcat

1. 搭建nginx环境------省略2. 在linux的/usr/local目录下,创建tomcat和tomcat02个文件夹,将tomcat的压缩包解压到tomcat和tomcat02目录下本人的tomcat路径分别为3. vim /etc/profile

2017-04-23 10:06:21 470

转载 Nginx的一些基本功能

1、静态HTTP服务器首先,Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。配置:?23456server {    listen80; # 端口号    location / {

2017-04-18 16:55:28 867

原创 redis-cluster注意点总结

1. redis集群搭建完毕后,如果需要重新配置ip及相关信息,可以执行下面的操作删除每个节点下面的文件:nodes.conf(与节点相关的信息)                                                dump.rdb(快照)                                                redis-check-d

2017-04-18 14:46:32 561

spring-boot.sh

通过linux命令,执行 linuxshell启动java jar包。

2019-09-02

apache-activemq-5.11.1-bin.tar.gz

ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。ActiveMQ使用Apache提供的授权,任何人都可以对其实现代码进行修改。

2017-09-27

JSONObject所必须的6个包

JSONOBJECT,HttpClient

2016-04-12

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

TA关注的人

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