- 博客(32)
- 收藏
- 关注
转载 阻塞和非阻塞、同步和异步 、五种IO模型
阻塞和非阻塞,同步和异步1 例子故事:老王烧开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。老王想了想,有好几种等待方式1.老王用水壶煮水,并且站在那里,不管水开没开,每隔一定时间看看水开了没。-同步阻塞老王想了想,这种方法不够聪明。2.老王还是用水壶煮水,不再傻傻的站在那里看水开,跑去寝室上网,但是还是会每隔一段时间过来看看水开了没...
2019-02-03 22:28:51
218
转载 单点登录原理及简单实现
@[ 单点登录原理与简单实现 (2017-09-22更新)GitHub:https://github.com/sheefee/simple-sso一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生...
2019-01-11 00:08:55
477
转载 redis与Mysql数据同步
把表中经常访问的记录放在了Redis中,然后用户查询时先去查询Redis再去查询MySQL,实现读写分离,也就是Redis只做读操作。由于缓存在内存中,所以查询会很快。对于一个sql语句格式的数据请求,首先计算该语句的MD5并据此得到结果集标识符,然后利用该标识符在Redis中查找该结果集。如果Redis中不存在这样一个集合,说明要找的结果集不在Redis中,所以需要执行相应的sq...
2019-01-04 17:13:32
14581
1
原创 分布式锁的作用及实现(Redis)
分布式锁:当多个进程不在同一个系统中,用分布式锁控制多个进程对资源的访问。一、分布式锁的使用场景如果是单机情况下(单JVM),线程之间共享内存,只要使用线程锁就可以解决并发问题。如果是分布式情况下(多JVM),线程A和线程B很可能不是在同一JVM中,这样线程锁就无法起到作用了,这时候就要用到分布式锁来解决。二、分布式锁的实现(Redis)分布式锁实现的关键是在分布式的应用服务器...
2019-01-04 09:44:34
4373
转载 http和https的区别与联系
感谢原作者,本文转载自http://www.mahaixiang.cn/internet/1233.html超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。...
2019-01-02 21:28:08
294
原创 Redis高可用集群-哨兵模式(Redis-Sentinel)搭建【Windows环境】
简介Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance),Redis 的 Sentinel 为Redis提供了高可用性。使用哨兵模式创建一个可以不用人为干预而应对各种故障的Redis部署。本质上是一个特殊的Redis服务器,所以启动方式类似。该系统执行以下三个任务:监控(Monitoring):Sentinel会不断地检查你的主服务器和从服务器是否...
2018-12-29 15:07:49
272
原创 Redis主从复制配置
以配置文件方式启动,只需修改配置文件即可。既然是主从组成的redis集群,必然有主服务器和从服务器之分。我们设置集群为1主2从。主服务器端口就为默认的6379,从服务器为6380。1. 修改配置文件主服务器配置文件大致不需修改。将其端口指定为6379(默认)即可。若需设密码,可在requirepass设置密码。以下为主服务器配置文件redis.windows.conf部分示例。p...
2018-12-27 21:43:12
159
原创 Java利用Redis实现消息队列
使用jar包:jedis-2.9.0.jar、commons-pool2-2.3.jarMessage 需要传送的实体类(需实现Serializable接口) ObjectUtil 将对象和byte数组双向转换的工具类 Jedis 通过消息队列的先进先出(FIFO)的特点结合Redis的list中的push和pop操作进行封装的工具类1、消息类public class Messag...
2018-12-27 16:17:47
4391
转载 Spring-Data-Redis的使用
与Spring集成<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId></dependency><dependency> <gr
2018-12-25 17:13:18
524
转载 Redis学习笔记(4)-持久化、主从配置、哨兵、集群配置
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/qq_29994609/article/details/51760895 </div> <div id="content_views" class="markdown_views prism-atom-o...
2018-12-25 16:44:14
165
原创 jedis,spring-redis-data 整合使用,版本问题异常
jedis,spring-redis-data 整合使用,版本不匹配的时候经常会报一些异常,例如1: java.lang.NoClassDefFoundError: org/springframework/data/geo/Metric2:java.lang.NoSuchMethodError: redis.clients.jedis.JedisCluster.set([B[B)Ljava...
2018-12-25 15:50:05
911
转载 Spring MVC — @RequestMapping原理讲解-1
为了降低文章篇幅,使得文章更目标化,简洁化,我们就不例举各种@RequestMapping的用法等内容了.具体请点击查看@RequestMapping的用法文章主要说明以下问题:Spring怎样处理@RequestMapping(怎样将请求路径映射到控制器类或方法)Spring怎样将请...
2018-12-19 21:36:52
248
转载 SpringMVC重要接口HandlerMethodArgumentResolver
初学SpringMVC框架时,我就一直有一个疑问,为什么controller方法上竟然可以放这么多的参数,而且都能得到想要的对象,比如HttpServletRequest或HttpServletResponse, 各种注解@RequestParam、@RequestHeader、@RequestBody、@PathVariable、@ModelAttribute等。相信很多初学者都...
2018-12-19 16:25:16
1166
原创 前后端常见的几种鉴权方式
目前我们常用的鉴权有四种:HTTP Basic Authentication session-cookie Token 验证 OAuth(开放授权)一.HTTP Basic Authentication 这种授权方式是浏览器遵守http协议实现的基本授权方式,HTTP协议进行通信的过程中,HTTP协议定义了基本认证认证允许HTTP服务器对客户端进行用户身份证的方法。认证过程...
2018-12-19 14:17:22
821
原创 redis.windows.conf 参数说明
1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 pidfile /var/run/redis.pid3. 指定Redis监听端口,默认端口为6379,因为6379在手机...
2018-12-10 16:36:06
215
原创 长期有效的 webstorm/Idea license server 2018
第一步 : 复制下方activation code,直接粘贴在webstorm的activation code栏上,切记先不要点ok,切记先不要点ok,切记先不要点ok ,等第二步执行完之后再点OK。 G91XMO9AVI-eyJsaWNlbnNlSWQiOiJHOTFYTU85QVZJIiwibGljZW5zZWVOYW1lIjoic29uZyB3YW5nIiwiYXNzaWd...
2018-11-15 10:19:28
2872
3
原创 SpringMvc 请求无法到达controller,出现404错误的原因
最近做ssm项目集成的时候遇到一个问题,项目搭起来以后,http请求怎么都进不到controller中,耗费了半天弄这个问题,最后发现还是自己对spring的配置文件和各种注解不熟,其实这个问题就是因为注解没配好。1、首先是web.xml中配置: <!-- spring核心监听器 --> <context-param> <param-name>c...
2018-11-05 17:18:28
5994
转载 不同版本(2.3-3.1)web.xml文件的schema头部声明
1. Servlet 3.1Java EE 7 XML schema,命名空间是 http://xmlns.jcp.org/xml/ns/javaee/ <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" ...
2018-11-04 16:18:17
198
原创 MySQL版本对应mysql-connector-java
报错: [See nested exception: java.sql.SQLException: Connections could not be acquired from the underlying database!]]用的MySQL8.0,然后连接数据库连不上,检查了很多遍配置文件和mysql服务。解决办法:最后把mysql-connector-java-5.1.30换成了...
2018-10-30 15:41:35
5005
转载 Eclipse中tomcat不识别web项目,导致无法部署运行的解决方法
1、在该项目中,找到.project文件,打开:找到<natures>,在标签内部添加如下内容并保存。<nature>org.eclipse.jem.workbench.JavaEMFNature</nature><nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</...
2018-10-27 20:32:20
4296
转载 @Component 和 @Bean 的区别
Spring帮助我们管理Bean分为两个部分,一个是注册Bean,一个装配Bean。 完成这两个动作有三种方式,一种是使用自动配置的方式、一种是使用JavaConfig的方式,一种就是使用XML配置的方式。@Compent 作用就相当于 XML配置@Componentpublic class Student { private String name = "lkm"; ...
2018-10-23 17:12:18
561
转载 ContextLoaderListener和Spring MVC中的DispatcherServlet加载内容的区别
ContextLoaderListener和DispatcherServlet都会在Web容器启动的时候加载一下bean配置. 区别在于:DispatcherServlet一般会加载MVC相关的bean配置管理(如: ViewResolver, Controller, MultipartResolver, ExceptionHandler, etc.)ContextLoaderListene...
2018-10-21 09:38:03
125
转载 Spring-MVC理解之一:应用上下文webApplicationContext
一、先说ServletContext javaee标准规定了,servlet容器需要在应用项目启动时,给应用项目初始化一个ServletContext作为公共环境容器存放公共信息。ServletContext中的信息都是由容器提供的。举例:通过自定义contextListener获取web.xml中配置的参数1.容器启动时,找到配置文件中的context-param作为键值对放到...
2018-10-12 11:12:49
142
转载 eclipse中编辑log4j 的xml配置文件时,自动提示
方法1. 配置log4j.dtd文件: Windows -> Preferences -> XML -> XML Catalog 点击 Add.. 添加一个XML Catalog Entry 在弹出的窗口如下配置: Location: jar:file:F:/software/sts-2.3.3.M2/...
2018-10-10 10:39:48
530
转载 Oracle中同时插入多条记录
由于要做测试数据插oracle数据库,想到了mysql的多个values的形式,但是sql报错。oracle并不支持这种一个insert into 多个values的方法 INSERT INTO users(name, age) VALUES('ccc', 333), ('aaa', 222), ('bbb', 111);但是有另一种写法,做个简单记录,跟mysql中的一个inse...
2018-10-01 09:53:59
5631
转载 遗传算法示例
clc,clearlb=1;ub=2;MAXGEN=20;%代数Nind=40;%种群大小Lind=20;%基因长度GGAP=0.95;%代沟px=0.7; %交叉率pm=0.01; %变异率ezplot('sin(10*pi*x)/x',[lb,ub]);%画出原函数图hold on;Chrom=crtbp(Nind,Lind);%创建种群FieldD=[size(Chro...
2018-09-16 11:26:07
789
转载 用HttpSessionListener与HttpSessionBindingListener实现在线人数统计
在线人数统计方面的实现,上网找了下这方面的知识,最初我的想法是,管理session,如果session销毁了就减少,如果登陆用户了就新增一个,但是如果是用户非法退出,如:未注销,关闭浏览器等,这个用户的session是管理不到的,最后决定用HttpSessionListener接口或HttpSessionBindingListener接口来实现,通过监听session的新建和销毁来控制,详细如下。
2017-12-20 20:33:57
376
转载 Servlet加载顺序
整一个的解析过程如下:1. servlet> 2. Servlet_Request 3. cn.xuhuanfeng.servlet.Servlet_Request 4. 5. 6. Servlet_Request 7. /Servlet_Request 8. 当用户在浏览器输入一个url,如 http://lo
2017-12-18 19:51:26
2079
转载 forward 和redirect的区别
1.从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.2.从数据共享来说forward:转发页面和转发到的页面可以共享requ
2017-12-13 20:31:50
156
转载 Java基本类型和引用类型
8种基本类型 一、4种整型 byte 1字节 -128——127 short 2 字节 -32,768 —— 32,767 int 4 字节 -2,147,483,648 ——2,147,483,647(超过20亿) long 8 字节
2017-11-04 20:58:48
229
原创 关于xml文件格式的问题
问题: 今天在修改XML文件时,不小心使用word打开并编辑,之后发现如下图错误。百度后发现可能是因为这次编辑后保存将文字格式保存了下来。 图1观察:对比修改之前的文件,发现文件头有一点不一样,如下图:
2017-04-27 13:58:53
1048
原创 也许这会是我一个新的起点
在学习代码的过程中,打开过不少技术博客,浏览着那些技术大牛的博客,突然觉得写博客这真是一个良好的习惯。每当有技术上的学习心得或者是困惑,可以写在这儿,这样对于一些有用的知识就不会那么容易遗漏了吧。这篇文章就作为一个开始,希望我能坚持下去。
2016-10-24 17:29:11
195
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人