- 博客(44)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 MySQL执行计划优化案例
单表优化create table book( bid int(4) primary key, name varchar(20) not null, authorid int(4) not null, publicid int(4) not null, typeid int(4) not null );insert into book values(1,'tjava',1,1,2...
2019-05-08 21:48:44
582
1
原创 httpClient https 忽略证书
/usr/bin/mysqldump -uroot -pdahuacloud --databases nextdb2 authdb2 --ignore-table=nextdb2.vsl_sys_log --ignore-table=nextdb2.vsl_video_log --ignore-table=nextdb2.vsl_alarm_record --ignore-table=nextdb2.vsl_dev_log --ignore-table=authdb2.vsl_sys_log --maste
2022-04-02 22:04:28
501
1
转载 tomcat 切https
一. 创建tomcat证书这里使用JDK自带的keytool工具来生成证书在jdk的安装目录\bin\keytool.exe下打开keytool.exe在命令行中输入以下命令:keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "f:\tomcat.keystore"二. 配置tomcat服务器定位到tomcat服务器的安装目录, 找到conf下的server.xml文件去掉注释,修改为: <Connec
2021-07-07 16:38:24
151
转载 跨域请求无法携带Cookie的解决方案
通过Nginx设置HttpOnly Secure SameSite参数解决Cookie跨域丢失在前面的文章中“谷歌浏览器Chrome 80版本默认SameSite导致跨域请求Cookie丢失”,我们知道 Chrome 升级到80版本后,默认限制了跨域携带cookie给后端。我们也提到了可以修改Chrome的设置或在服务端添加SameSite设置来解决,但是普通的Web框架需要升级到最新版本才支持SameSite属性,升级Web框架成本太高,因此本文使用Nginx来解决SameSite问题的办法(需要使用N
2021-07-07 10:38:13
1613
原创 jdk1.7 ConcurrentHashMap多线程并发偶现结果会导致部分id未被删除
private static ConcurrentHashMap<Integer, Session> mapper = new ConcurrentHashMap<Integer, Session>(); public static void removeById(final int id){ Set<Integer> set = mapper.keySet(); logger.info("removeById id={}",id ); for(int .
2021-01-27 09:50:55
205
原创 TCP与Http TIME_WAIT 和 CLOSE_WAIT
tcp三次握手四次挥手https://www.cnblogs.com/bj-mr-li/p/11106390.html第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服
2021-01-23 10:38:45
162
原创 springBoot原理
https://github.com/xyzBits/SpringBoot/blob/master/src/main/resources/notes/Spring%20Boot%E7%AC%94%E8%AE%B0.md
2020-12-10 10:41:50
67
原创 sed命令
mysqlIp=`sed '/db.ip/!d;s/.*=//' $CONF_FILE | tr -d '\r'`Sed ‘/db.ip/!d;’$$CONF_FILE | tr -d '\r' -- 刪除conf_file中所有的回车,删除所有未匹配到db.ip的行sed 's/.*=//' aaa --.* 正则 贪婪模式 匹配以=号结尾的字符 sed s/old/new/ 进行替换 为空cat /proc/cpuinfo | grep "processor
2020-11-06 15:08:53
123
原创 shell中的linux命令
dirname $0 $n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……$0 为执行的文件名(包含文件路径)dirname命令去除文件名中的非目录部分,删除最后一个“\”后面的路径,显示父目录basename命令用于打印目录或者文件的基本名称,显示最后的目录名或文件名$# 传递到脚本的参数个数$* 以一个单字符串显示所有向脚本传递的参数。 如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$? 显示最后命令的退
2020-11-06 15:07:45
120
原创 shell中涉及的linux 命令
while true; do PIDS=`ps -ef | grep java | grep "$EXEC_FILE" | awk '{print $2}'` if [ -z "$PIDS" ]; then nohup /bin/sh $START_SHELL $WORK_HOME >/dev/null 2>&1 & fi sleep 5doneNohupnohup命令用于不挂断地运行命令(关闭当前session不会中断改程序,只能通过kill等命令删除
2020-11-06 15:05:02
184
原创 Maven上传本地jar到Nexus
点击3rd party 我们要传的jar包上传到这里,然后点击browse storage 预览所有意见上传的jar包
2020-11-06 15:00:58
157
原创 SQL优化-颜群笔记
1.MySQL版本5.x:5.0-5.1:早期产品的延续,升级维护5.4 - 5.x : MySQL整合了三方公司的新存储引擎 (推荐5.5)安装:rpm -ivh rpm软件名如果安装时 与某个软件 xxx冲突,则需要将冲突的软件卸载掉: yun -y remove xxx安装时 有日志提示我们可以修改密码:/usr/bin/mysqladmin -u root password 'new-password'注意: 如果提示“GPG keys...”安装失败,解决方案: rp
2020-09-16 10:15:07
358
原创 DBCP连接池配置常用参数说明
参数 默认值 说明username \ 传递给JDBC驱动的用于建立连接的用户名password \ 传递给JDBC驱动的用于建立连接的密码url \ 传递给JDBC驱动的用于建立连接的URLdriverClassName \ 使用的JDBC驱动的完整有
2020-08-27 09:53:18
367
原创 网络编程Client/Server模型
Client/Server网络编程的基本模型Client/Server模型,也就是两个进程直接进行相互通信,其中服务端提供配置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的地址发起连接请求,通过三次握手建立连接,如果连接成功,则双方即可进行通信(网络套接字socket)ServerHandlerpublic classServerHandler implementsRunnable{ private Socket socket ; public ServerHandle
2020-08-01 10:33:41
829
原创 进程间通信IO(BIO),NIO,AIO
概念Socket Socket又称“套接字”,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。Socket和ServerSocket类库位于java.net包中,serverSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话,对于一个网络连接来说,套接字是平等的,不因为在服务器端或在客户端而产生不同的级别,不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类
2020-08-01 10:11:05
180
原创 springBoot 使用redis注解
/** * @description 查询单个用户 * @author xiaomianyang * @date 2019-06-13 10:39 * @param [id] * @return TUserEntity */ @Cacheable(value="redisCache",condition = "#result!='null'",key="'redis_user_'+#id") public TUserEntity .
2020-07-22 14:25:05
548
原创 切面类aspect
自定义注解https://www.cnblogs.com/peida/archive/2013/04/24/3036689.html我们在做开发的时候,并不是说在每一个地方都能将属性注入到我们想要的地方去的,比如在Utils使用到dao,我们就不能直接注入了,这个时候就是我们需要封装springContext的时候了,而ApplicationContextAware就起了关键性的作用。Spring中ApplicationContextAware的作用/** * @Title: SpringJob
2020-07-18 17:08:08
306
原创 sqlmap sql注入问题
以下无法满足字段中本身需要带操作类型的参数https://www.cnblogs.com/pypua/articles/9561629.html解决mybatis-plus动态排序,导致的SQL注入问题https://springboot.io/t/topic/905使用过滤器过滤MP的排序sql注入结合https://my.oschina.net/xiaohui249/blog/1616865?utm_medium=referral过滤相关字符 else if (key.equals("or
2020-07-10 16:13:01
1234
原创 web安全问题
HTML form without CSRF protection<input type="hidden" name="anti_csrf_token" value="cd25t789jh0fg">无限制的文档类型定义,XML 分析器配置设置为禁用 DTD 处理XMLReader xmlReader = spf.newSAXParser().getXMLReader(); ...
2020-03-25 09:14:52
311
原创 web消息推送
随着 Web 的发展,用户对于 Web 的实时推送要求也越来越高 ,比如,工业运行监控、Web 在线通讯、即时报价系统、在线游戏等,都需要将后台发生的变化主动地、实时地传送到浏览器端,而不需要用户手动地刷新页面。本文对过去和现在流行的 Web 实时推送技术进行了比较与总结。WEB 实时推送技术的总结https://www.cnblogs.com/fundebug/p/real-time-co...
2020-03-11 11:14:41
274
转载 dubbo 入门
zookeeper下载与安装首先去官网下载 http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/修改D:\zookeeper\zookeeper-3.4.13\conf下的zoo_sample.cfg 文件名为 zoo.cfg并修改日志配置# The number of milliseconds of each tickti...
2020-03-11 09:37:26
79
原创 Gis地图
openlayers加载谷歌地图投影坐标系墨卡托投影(epsg:3857)原点左上角谷歌默认比例尺http://map.geoq.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer地理坐标系WGS84 (epsg:4326)cscg2000(天地图 原点非世界地图原点,国内使用)OpenLayers的TMS现在的网络地...
2020-03-10 16:13:45
1387
原创 Javaweb路径
在JavaWeb中需要写的路径大概分为四大类:1)客户端路径:超链接、表单、重定向2)服务端路径:转发、包含3)获取资源路径:servletContext获取资源、ClassLoader获取资源、Class获取资源4) 路径:构建Web项目的目录: url-pattern一、客户端路径客户端路径是指运行在浏览器上的路径。 比如:表单、超链接、js(location.href)、A...
2019-07-20 12:04:09
460
转载 tomcat类加载原理
1.1 java类加载器1.1.1 类加载在JVM中并不是一次性把所有的文件都加载,按时按需加载,比如JVM启动时,会通过不同的类加载器加载不同的类。当用户在自己的代码中,需要某些额外的类时,再通过加载机制加载到JVM中,并且存放一段时间,便于频繁使用。1.1.2 什么是类加载器类加载器是一个用来加载类文件的类,java源代码通过javac编译器编译成类文件,然后JVM来执行类文件中的字节...
2019-07-13 17:25:19
552
原创 过滤器和拦截器,监听器
过滤器和拦截器的区别:拦截器是基于java的反射机制的,而过滤器是基于函数回调。拦截器不依赖与servlet容器,过滤器依赖与servlet容器。拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。拦截器可以...
2019-07-09 16:57:20
144
原创 JavaWeb--session
session简介我们用浏览器打开一个网页,用到的是HTTP协议,它是无状态的,什么是无状态呢?就是说这一次请求和上一次请求是没有任何关系的,互不认识的,没有关联的。但是这种无状态的的好处是快速。所以就会带来一个问题就是,我希望几个请求的页面要有关联,比如:我在www.a.com/login.jsp里面登陆了,我在www.a.com/index.jsp 也希望是登陆状态,但是,这是2个不同的页...
2019-07-01 18:45:50
176
原创 编译时类型和运行时类型
编译时类型和运行时类型Java的引用变量有两个类型,一个是编译时类型,一个是运行时类型,栈中存放的是一些引用和一些变量,而堆内存中存放的是对象。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。Person p=new Women()(Women类继承自Person类)假如p的属性修饰符为public 访问属性时得到的是Person类的属性还是Women类的属性...
2019-06-14 16:46:47
1290
原创 springBoot入门
springboot目录结构Java:存放代码resources:static:存放静态资源:js,css,图片,音频,视频templates:模板文件:freemaker,thymeleaf,默认不支持jspapplication.properties:配置文件springboot内置了tomcat,并且不需要打成war包再执行,可以在配置文件中对端口号等服务端信息进行配置。spr...
2019-05-20 11:11:40
582
原创 分布式架构--zookeeper
分布式中的网络是不可靠的。分布式主要解决四大问题解决四大问题1.客户端怎么访问这么多服务2.服务之间怎么通信1.同步通讯-httpClient,RPC通信框架2.异步通信-MQ消息队列3.这么多服务如何管理(高可用,高并发,高性能) 副本解决这个服务上线下线情况以及ip端口等信息服务注册与发现基于客户端的服务注册与发现–zookeeper基于服务端的服务治理与发现–eurek...
2019-05-18 11:12:04
173
原创 Redis--主从复制,哨兵机制,事务,持久化
主从复制1.redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave)。主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。2、通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力...
2019-05-08 22:05:52
177
原创 Redis jedis
引入Maven依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> ...
2019-05-08 21:53:20
86
原创 Redis 集合(Set)
SetRedis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。1.插入查看Set集合redis 127.0.0.1:6379> SADD runoobkey r...
2019-05-08 20:58:14
83
原创 Redis—List
Redis 列表(List)命令描述lpush list redis插入list列表 redis 元素lrange list 0 10获取列表指定范围内的元素blpop list 10如果列表 list 存在数据则会返回第一个元素,否则在等待10秒后会返回 nilbrpop list 10假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等...
2019-05-08 15:12:54
129
原创 消息中间件ActiveMQ
简介发送者将消息发送给消息服务器,消息服务器将消息存放到若干队列中,在合适的时候再将消息转发给消息接受者。这种情况下,发送和接收是异步的,发送者无需等待,发送消息的时候,接受者不一定运行。接收消息的时候,发送者也不一定运行。一对多通讯,对于一个消息,可以有多个接受者。Java的消息服务JMS消息模型分为两种:点对点通讯。每个消息只能让一个消费者进行消费,尽管会有多个消费者。发布订阅...
2019-05-08 08:39:45
97
原创 MySQL事务隔离级别
事务隔离级别隔离级别描述read uncommitted允许事务读取别其他事务提交的变更。脏读,不可重复读,幻读 等问题会出现read committed只允许事务读取被其他事务提交的变更。可以避免脏读,不会读取未被提交的操作repeatable read确保事务可以多次从一个字段中读取同一个值,在这个事务持续时间,禁止其他事务对这个字段进行更新-----但...
2019-05-07 16:49:49
113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人