- 博客(7)
- 收藏
- 关注
翻译 java线程池ExecutorService
线程池的作用:1、减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务;2、可以根据系统的承受能力,调整线程池的数量,防止消耗过多的内存;Java通过ExecutorService提供了四种线程池:1、Executors.newFixedThreadPool(5) : 创建一个定长的线程池,可控制线程最大并发数,超出的线程会在阻塞队列中等待,线程可重复利用,默认没...
2018-06-28 22:42:10 177
翻译 Java并发Semaphore、CountDownLatch、CyclicBarrier
Semaphore semaphore又称信号量,在并发编程中,通过许可证控制线程并发数new Semaphore(N,isFair) ; n是同时运行线程数,fair是否公平,默认false;公平:在获取许可时首先查看等待队列中是否已有线程,如果有就加入队列末尾,等待唤醒。非公平:在获取许可时,先尝试获取许可,如果失败才会加入队列。acquire(); 获取许可,许可数减1。release...
2018-06-27 22:10:50 178
翻译 CAS单点登陆基本流程
流程图步骤详解1、浏览器请求服务资源,无session信息,返回302重定向CAS服务地址2、重定向请求CAS服务器,发送cookie信息请求认证,认证失败返回登陆页面3、提交用户密码到CAS服务器请求登陆,返回认证信息重定向CAS客户端4、重定向CAS客户端发送认证信息,客户端向CAS服务器请求认证,返回确认登陆5、登陆成功,CAS客户端重定向请求地址以上是第一次访问服务资源或者session认...
2018-06-12 23:45:55 265
翻译 Spring Bean介绍
1. 实例化一个Bean,也就是我们通常说的new2. 按照Spring上下文对实例化的Bean进行配置,也就是IOC注入3. 如果这个Bean实现了BeanNameAware接口,会调用它实现的setBeanName(String beanId)方法,此处传递的是Spring配置文件中Bean的ID。实现该接口可以获取当前Bean的名字。4. 如果这个Bean实现了BeanFactoryAwar...
2018-06-11 23:28:50 183
翻译 Spring声明事务和编程事务
1、编程式事务:是指通过编码的方式实现事务,类似JDBC编程实现事务管理,一般使用TransactionTemplate.2、声明式事物:是建立在AOP之上,对方法前后拦截,在目标方法执行完之后提交或者回滚事务。其优化就是不需要重复的代码进行事务管理,只需要配置(@Transactional注解)即可。唯一不足的是只能做到方法级别,如果需要细粒度代码块级别,只能使用编程式。...
2018-06-11 23:08:41 130
翻译 SpringBoot指定内置tomcat版本
1、在pom文件中配置tomcat版本<properties> <tomcat.version>8.0.42</tomcat.version></properties>2、指定tomcat版本,启动项目有时候会报异常,这是因为tomcat缺少jar包,需要添加依赖:<dependency><groupId>org.apa...
2018-06-11 22:55:17 7046 1
翻译 Spring容器启动过程
Spring容器的启动方式有两种:1、提供ApplicationContext自己创建Spring容器 通过ClassPathApplicationContext初始化容器,加载spring.xml配置文件,然后解析配置文件,初始化Bean,注册Bean。2、Web项目中在web.xml中配置监听器 web容器在启动时加载ContextLoaderListener,执行initWebA...
2018-06-11 22:47:15 139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人