- 博客(29)
- 资源 (15)
- 收藏
- 关注
原创 线程池如何设置合理参数
1.线程池的拒绝策略请你谈谈(1)是什么?等待队列也已经排满了,再也塞不下新的任务了同时,线程池的max也到达了,无法接续为新任务服务这时我们需要拒绝策略机制合理的处理这个问题.(2)JDK内置的拒绝策略①AbortPolicy(默认):直接抛出RejectedException异常阻止系统正常运行②CallerRunPolicy:"调用者运行"一种...
2021-11-15 08:45:00
564
原创 线程池ThreadPoolExecutor几个重要参数介绍
1.corePoolSize:线程池中的常驻核心线程数1).在创建了线程池后,当有请求任务来之后,就会安排池中的线程去执行请求任务,近视理解为今日当值线程2).当线程池中的线程数目达到corePoolSize后,就会把到达的任务放入到缓存队列当中.2.maximumPoolSize:线程池能够容纳同时执行的最大线程数,此值大于等于13.keepAliveTime:多余的空闲线程存活时间,当空间时间达到keepAliveTime值时,多余的线程会被销毁...
2021-11-13 08:00:00
457
原创 线程池ThreadPoolExecutor
1.为什么使用线程池,优势 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务加入队列,然后在线程创建后启动这些任务,如果线程超过了最大数量,超出的数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行.他的主要特点为:线程复用:控制最大并发数:管理线程.第一:降低资源消耗.通过重复利用自己创建的线程降低线程创建和销毁造成的消耗.第二: 提高响应速度.当任务到达时,任务可以不需要等到线程和粗昂就爱你就能...
2021-11-12 15:46:19
498
原创 BlockingQueue 阻塞队列
1.队列+阻塞队列(1)阻塞队列,顾名思义,首先它是一个队列,而一个阻塞队列在数据结构中所起到的作用大致如下图所示:当阻塞队列为空的时,从队列中获取元素的操作将会被阻塞。当阻塞队列是满的时,往队列中增加元素的操作将会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往队列中插入新的元素。同样,试图往已满的阻塞队列中添加新的元素的线程将会被阻塞,直到其他线程从队列中移除一个或多个元素或者完全清空队列后是队...
2021-10-31 19:30:00
335
原创 Synchronized和Lock有什么区别
1.原始构成Synchronized是关键字属于JVM层面,monitorenter(底层是通过monitor对象来完成,其实wait/notify等方法也依赖montior对象只有在同步块或方法中才能调用wait/notify等方法)Lock是具体类(java.util.concurrent.locks.Lock)是api层面的锁2.使用方法Synchronized不需要用户去手动释放锁,当Synchronized代码执行...
2021-10-30 17:00:00
112
原创 CountDownLatch、CyclicBarrier、Semaphore使用
1.CountDownLatch案例让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程会被阻塞。当计数器的值变为零时,因调用await方法被阻塞的线程会被唤醒,继续执行//未使用CountDownLatchpublic class CountDownLatchDemo { public static void main(String[] ar...
2021-10-29 10:39:08
189
原创 JUC多线程及并发笔记--公平锁和非公平锁、可重入锁、递归锁、自旋锁
1.公平锁和非公平锁(1) 是什么?公平锁: 是指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到Lock lock=new ReentrantLock(true);非公平锁:是指多个线程获取锁的顺序不是按照申请锁的顺序,有肯可能后申请的线程比先申请的线程优先获取锁,在高并发情况下,有可能会造成优先级翻转或者饥饿现象Lock lock=new ReentrantLock(); //Reentran...
2021-08-23 17:11:04
172
原创 JUC多线程及并发笔记--多线程下集合类不安全问题
1.ArrayList多线程下安全问题1).故障现象 java.util.ConcurrentModificationException 并发修改异常2).导致原因 List add()方法没有并发锁并发争抢修改导致。比如生活中花名册签名,一个人正在写,另一个同学过来抢夺,导致数据一致异常。并发修改异常3).解决方案(1) List lists=new Vector<>();(2) Lis...
2021-08-23 16:24:44
230
原创 JUC多线程及并发笔记--原子类(AtomicInteger)的ABA问题
原子类AtomicInteger的ABA问题谈谈?原子更新引用知道么?1.ABA问题产生CAS会导致ABA问题 CAS算法实现一个重要前提需要取出内存中某时刻的数据并在当下时刻比较并替换,那么在这个时间差类会导致数据的变化。比如说一个线程one从内存位置v取出A,这时另一个线程two也从内存中取出A,并且线程two进行了一些操作将值变成B,然后线程two又将v位置的数据变成A,这时候one线程进行CAS操作发现内容中仍然是A,然后线程one操作成功。 ...
2021-08-18 17:37:07
289
原创 JUC多线程及并发笔记--volatile问题详解
1.volatile是java虚拟机提供的轻量级的同步机制保证可见性package register;import java.util.concurrent.TimeUnit;class MyData{ volatile int number=0; public void addTo60(){ this.number=60; }}/** * 1.验证volatile可见性 * 1.1 假如int number=0;number变量之前没有添加
2021-08-06 17:18:51
152
原创 Spring2+struts2.3+ibatis框架整合
这几天一直想着搭建一个简单的SSI框架,下面就把步骤一步一步写下来,相互学习交流!1.新建Web Project工程2.增加struts2的jar包3.然后配置web.xml中的struts过滤器,启动应该是不报错误。 struts2 org.apache.struts2.dispatcher.FilterDispatcher
2021-08-06 17:04:56
173
原创 JUC多线程及并发笔记--CAS问题详解
1.CAS是什么?比较并交换:是JUC中方法 compareAndSet(int expect, int update) ,expect-物理内存中期望值,update-修改值import java.util.concurrent.atomic.AtomicInteger;/** * 1.CAS是什么? =====>compareAndSet * 比较并交换 */public class CASDemo { public static void main...
2021-08-06 16:55:36
164
原创 docker 安装nginx+php(多服务站点)+mysql
最近在在研究docker部署多站点的php web服务,在配置nginx时遇到很多坑,把配置过程分享给大家!!!ps: 1-3是前期准备,如果虚拟机网络配置好可以忽略..... 4开始以此安装mysql,php,nginx centos7下安装docker请查相关资料1.使用的工具(1).VMware Workstation Pro 16虚拟机(2).CentOS-7-x86_64系统服务(docker支持CentOS-7以上版本)(3).docker最新版...
2021-03-19 16:00:08
942
原创 IntelliJ IDEA 的安装、配置与使用(四)-常用配置
IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也因为这些人性化的设置让那些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。进入设置界面:目录结构如下:1.Appearance & Behavior1.1 设置主题这里默认提供了三套主题:IntelliJ,Darcula,Windows。这里可以根据自己的喜好进行选择。...
2019-04-26 16:59:47
694
原创 IntelliJ IDEA 的安装、配置与使用(三)-IDEA创建项目工程
创建 Java 工程,运行 HelloWorld1.创建 Java 工程 Create New Project:创建一个新的工程 Import Project:导入一个现有的工程 Open:打开一个已有工程。比如:可以打开 Eclipse 项目。 Check out from Version Control:可以通过服务器上的项目地址 check out Github上...
2019-03-05 18:25:21
2175
原创 IntelliJ IDEA 的安装、配置与使用(二)
本章主要说明启动应用后简单配置1.是否导入已有设置首次启动,会弹出如下的对话框。选择不导入已有的设置。2.激活然后根据提供的激活文档《IDEA2017-2018_激活方法》或百度:idea 破解码,填入:lisence server 的具体值即可。(需要联网)或者 选择 Activation code,根据文档提供的激活码,同样可以激活。(不需要联网)补充:对于 IDEA...
2019-03-05 18:08:00
1530
原创 IntelliJ IDEA 的安装、配置与使用(一)
本章主要说明windows 下安装过程1. 安装前的准备1.1 硬件要求个人建议配置:内存 8G 或以上,CPU 最好 i5 以上,最好安装块固态硬盘(SSD),将 IDEA安装在固态硬盘上,这样流畅度会加快很多。1.2 软件要求操作系统:Microsoft Windows 10/8/7/Vista/2003/XP (32 or 64 bit)2.具体安装过程...
2019-03-05 17:59:23
11710
转载 联合主键用Hibernate注解映射方式
联合主键用Hibernate注解映射方式主要有三种:第一、将联合主键的字段单独放在一个类中,该类需要实现java.io.Serializable接口并重写equals和hascode,再将该类注解为@Embeddable,最后在主类中(该类不包含联合主键类中的字段)保存该联合主键类的一个引用,并生成set和get方法,并将该引用注解为@Id第二、将联合主键的字段单独放在一个类中,该
2015-01-12 09:48:21
527
转载 Hibernate和MyBatis的区别
Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完
2013-07-22 17:42:20
648
转载 使用Axis创建Web Service服务
先简短的说一下Web Service的概念,简略的总结一下:所谓Web Service就是客户端以标准的SOAP消息将服务请求发给服务提供者,不论服务提供者用什么样的技术,Java、EJB、或者.NET执行相应的程序得到结果,然后将结果以SOAP消息返回给服务请求者。 下面以Axis为例,创建一个简单的Web Service。首先到http://ws.apache.org/axis
2013-07-18 17:55:42
949
转载 Java框架数据库连接池比较(c3p0,dbcp和proxool)
现在常用的开源数据连接池主要有c3p0,dbcp和proxool三种,其中: ¨ hibernate开发组推荐使用c3p0; ¨ spring开发组推荐使用dbcp (dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接或数据库重启后,无法reconnect ,告诉连接被重置,这个设置可以解决); ¨ hibernate i
2013-07-16 15:33:47
728
原创 (注解方式持久化类报错解决方案-仅供参考)org.hibernate.MappingException: Unknown entity: com.rx.entity.po.User
//实体类@Entity@Table(name = "T_SECU_USER_INFO")public class User implements Serializable{/*** */private static final long serialVersionUID = 1L;@Id@Column(name = "USER_NAME")private String
2013-07-16 15:20:36
2563
转载 Spring <context:component-scan base-package="">和<context:annotation-config>
Spring2.5中使用注解装配属性 可在Java代码中使用@Resource或者@Autowired注解进行装配,但需在XML中配置以下信息 xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/co
2013-07-16 10:07:25
659
转载 数据库反向生成实体类
数据库反向生成实体类是dbdesigner的一个功能,现在很多开发工具也带有这样的功能。实现原理也很简单:先通过SQL语句获取所有数据库表,再通过SQL语句获取表的结构,最后根据表的字段信息生成相应的hibernate实体类。本文的初步实现代码只考虑mysql 5.1版本,其它版本数据库暂不考虑。获取所有表的SQl:show tables获取表字段信息的SQL有两种:(1) S
2012-08-29 12:06:16
1409
转载 org.springframework.beans.factory.BeanCreationException
1. org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save():原因:元素配置不正确,元素缺少其子元素的配置。解决方法:元素映射了相应数据库表的主键字段,对其子元素,其中class的取值可以为increment、id
2012-05-22 11:45:07
2130
原创 解决org.springframework.beans.factory.BeanCreationException: Error creating bean with name
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.BeanCreationException: Error crea
2012-05-21 13:08:13
30023
转载 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFacto
org.springframework.beans.factory.BeanCreationException:Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocationof
2012-05-21 12:27:43
1643
转载 Oracle 9i加载数据库出错的解决方法
安装Oracle9I出现"加载数据库时出错:areasQueries错误",提示停止该组件或所有组件安装,之后安装不能进行。 问题解决: 试了很多方法,也在Metalink找答案,仍不能解决,耽误了半天时间,后来去看了一下oracle安装的文件记录,发现问题所在,原来我的oracle安装目带有汉字。 d:\oracle安装\oracle9i\disk1 问题就在这个"安装"
2012-03-27 13:15:43
556
WebServices服务器的搭建
2013-07-26
Struts2+Spring3+Mybatis搭建矿建
2013-07-26
仿腾讯微博的一个JSP项目
2012-03-22
JDBC Driver
2012-03-22
Hibernate学习笔记
2012-03-22
一个flash导航条制作软件教程(内有下载地址)
2011-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人