多个Tomcat之间实现Session共享

对于高访问量、高并发量的网站或web应用来说,目前最常见的解决方案应该就是利用负载均衡进行server集群,例如比较流行的nginx+memcache+tomcat。集群之后比如我们有N个Tomcat,用户在访问我们的网站时有可能第一次请求分发到tomcat1下,而第二次请求又分发到了tomcat...

2019-03-24 21:19:27

阅读数 15

评论数 0

Tomcat的Session共享

1、为什么会提出这个问题? 使用Nginx+Tomcat进行负载均衡时,希望使用轮询方式进行负载。但是如果使用轮询方式的话,可能会访问不同的Tomcat,此时如果不进行Session共享,则相当于是一个新的Session。就比如现有系统都是需要认证登录的系统,如果没有Session共享,则会导致用...

2019-03-24 21:08:03

阅读数 14

评论数 0

linux grep的使用

1.grep -E  "addFavStation|收藏送券参数:"  web-info.log.2018-03-18查询包含“addFavStation”或者包含“收藏送券参数:” 的数据2.grep "SinochemController&...

2018-03-19 17:28:06

阅读数 65

评论数 0

什么是redis,redis能做什么,redis的应用场景

1. 什么是Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value...

2018-01-08 21:56:14

阅读数 132

评论数 0

优先级

线程优先级设置:setPriority(int  value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。 JDK源代码优先级定义如下: public final void setPriority(i...

2017-12-23 23:54:51

阅读数 96

评论数 0

优先级

线程优先级设置:setPriority(int  value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。 JDK源代码优先级定义如下: public final void setPriority(i...

2017-12-23 23:54:38

阅读数 73

评论数 0

优先级

线程优先级设置:setPriority(int  value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。 JDK源代码优先级定义如下: public final void setPriority(i...

2017-12-23 23:54:26

阅读数 70

评论数 0

优先级

线程优先级设置:setPriority(int  value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。 JDK源代码优先级定义如下: public final void setPriority(i...

2017-12-23 23:54:14

阅读数 48

评论数 0

优先级

线程优先级设置:setPriority(int  value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。 JDK源代码优先级定义如下: public final void setPriority(i...

2017-12-23 23:54:01

阅读数 52

评论数 0

优先级

线程优先级设置:setPriority(int  value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。 JDK源代码优先级定义如下: public final void setPriority(i...

2017-12-23 23:53:42

阅读数 80

评论数 0

线程优先级

线程优先级设置:setPriority(int  value) 括号参数是1-10级别。1代表最低级别,10代表最高级别。小于1或大于10,会抛出IllegalArgumentException异常。 JDK源代码优先级定义如下: public final void setPriority(int...

2017-12-23 12:28:36

阅读数 69

评论数 0

Thread和Runnable的区别

如果一个类继承Thread,则不适合资源共享。但是如果实现了Runable接口,很容易的实现资源共享。 总结: 实现Runnable接口比继承Thread类所具有的优势: 1):可以避免java中的单继承的限制. 2):增加程序的健壮性,代码可以被多个线程共享,多个线程处理同一个资源,...

2017-12-23 11:20:42

阅读数 115

评论数 0

线程小例子

通过Thread 实现的线程 public class Demo1 { public static void main(String args[]) { Thread thread = Thread.currentThread(); System.out....

2017-12-23 09:27:59

阅读数 83

评论数 0

同步和异步

同步就是一件事一件事的做。 异步就是,做一件事情,不影响做其他事情。 例如: 吃饭和说话,只能一件事一件事的来,因为只有一张嘴。 但吃饭和听音乐是异步的,因为,听音乐并不引响我们吃饭。

2017-12-23 09:11:15

阅读数 66

评论数 0

synchronized 用在实例方法和类方法的区别

在Java中,synchronized 是用来表示同步的,我们可以synchronized 来修饰一个方法。也可以synchronized 来修饰方法里面的一个语句块。       修饰实例方法: Java代码   public synchronized void norma...

2017-12-21 19:36:42

阅读数 957

评论数 0

synchronize的限制

synchronize的限制 synchronized是不错,但有一些功能性的限制: 它无法中断一个正在等候获得锁的线程;也无法通过投票得到锁,如果不想等下去,也就没法得到锁;同步还要求锁的释放只能在与获得锁所在的堆栈帧相同的堆栈帧中进行,多数情况下,这没问题(而且与异常处理交互得很好...

2017-12-21 18:55:03

阅读数 62

评论数 0

synchronized的使用实例

一、使用场景 在负责后台开发的时候,很多时候都是提供接口给前端开发人员去调用,会遇到这样的场景: 需要提供一个领奖接口,每个用户名只能领取一次,我们可以将成功领取的用户在数据库用个标记保存起来。如果这个用户再来领取的时候,查询数据库看该用户是否领取过。 但是问题来了,假设用户手速很快,极短时...

2017-12-21 12:32:52

阅读数 77

评论数 0

并发编程 synchronized

在Java中,每一个对象有且仅有一个同步锁,同步锁是依赖于对象而存在。当调用某个对象的synchronized方法时,就获取了该对象的同步锁。不同线程对同步锁的访问时互斥的。 synchronized基本规则: (一)当一个线程访问某个对象的synchronized方法或者代码块时,其...

2017-12-21 12:31:15

阅读数 61

评论数 0

ThreadPoolExecutor使用示例

通常,使用Java开发并发程序时,我们创建Runnable对象,然后创建对应的线程Thead对象来执行它们。Java 5之后,Java并发API提供了Executor框架,主要包括Executor接口,它的子接口ExecutorService,以及实现上述两个接口的ThreadPoolExecut...

2017-12-18 17:14:03

阅读数 98

评论数 0

mybatis #和$的区别

1.  #将传入的数据都当成一个字符串,即会对自动传入的数据加一个双引号。 如:对于sql语句order by #{name},如果传入的值是123,那么解析成sql时的值为order by "123", 如果传入的值是tom,则解析成的sql为order by "...

2017-12-18 16:45:03

阅读数 56

评论数 0

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