![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaEE
凡尘炼心
谨于言慎于行
展开
-
关于多线程的知识点-02
什么是并发?什么是并行?并发:同一时间段,多个任务都在执行(单位时间内不一定能同时执行); 并行:单位时间内多个人任务同时执行;为什么要使用多线程?计算机原理来讲:我们知道线程是进程下的最小的执行单位,线程间的切换和调度成本要比进程小得多,另外现在的电脑都是多cpu配置,那么就可以同时运行多个线程,减少了线程间上下文的切换,从而降低了进程运行的开销 现在互联网的发展趋势,现在的系统需求的并发量在不断的提升,多线程这块对高并发系统来说说基础的一部分,处置好多线程可以大大提高系统的心能和整体的并发原创 2020-08-03 00:11:37 · 168 阅读 · 0 评论 -
[java进阶]关于多线程的知识点
线程和进程的区别?进程: 是程序得一次之星过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序就是从一个进程的创建开始,到进程的结束的过程。 在java中当我们的main函数运行时就是启动了一个JVM进程,而main函数所在的线程就是进程中的一个线程,也称为主线程。 线程: 是比进程更小得执行单位,一个进程在执行过程中可以产生很多个线程。与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程都有自己的程序计数器,虚拟机栈和本地方法栈。系统在产生一个线程或在各个线程原创 2020-07-21 23:42:25 · 145 阅读 · 0 评论 -
[Docker] redis 全配置
启动容器,加载配置文件并持久化数据 docker run -d --privileged=true -p 6379:6379 --restart always -v /usr/redis/conf:/etc/redis/redis.conf -v /usr/redis/data:/data --name myredis redis:5.0.5 redis-server /etc/redis/r...原创 2019-11-05 16:17:02 · 1050 阅读 · 0 评论 -
解决SpringBoot 定时计划 quartz job 任务重复执行多次(10次)
上一篇:SpringBoot多任务Quartz动态管理Scheduler,时间配置,页面+源 设置了多个 任务,本应该是各司其职的,任务调用多线程处理任务,but这个定时任务竟然同时跑了10次???如下图 让我很苦恼 百度一波,怀疑是否是因为多次初始化bean导致的? debug看了并没有多次初始化。。。那么就是任务多次执行了! 看到别人有控制并发?加上注释试下 @DisallowC...原创 2018-07-23 20:59:46 · 19716 阅读 · 11 评论 -
SpringBoot+单机redis
spring boot-redis集成 看教程来的,看起来很简单,但是集成后发现启动失败? WARN 2556 --- [ restartedMain] ationConfigEmbeddedWebApplicationContext :Exception encountered during context initialization - cancelling refres...原创 2019-01-05 11:29:46 · 490 阅读 · 0 评论 -
linux配置定时任务cron/定时服务与自启动
实现linux定时任务有:cron、anacron、at,使用最多的是cron任务名词解释 cron--服务名;crond--linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似;crontab--是定制好的计划任务表软件包安装 要使用cron服务,先要安装vixie-cron软件包和crontabs软件包,两个软件包作用如...原创 2019-03-21 22:54:05 · 2604 阅读 · 0 评论 -
线程池原理?为什么要用线程池?线程池的创建方式?
为什么要使用线程池在面向对象编程中,对象创建和销毁是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是对一些很耗资源的对象创建和销毁。如何利用已有对象来服务就是一个需要解决的关键问题,其实这就是一些"池化资源"技术产生的原因。比如...原创 2019-05-27 22:36:17 · 4519 阅读 · 0 评论 -
线程的生命周期?什么时候会出现僵死进程?
线程的生命周期及五种基本状态关于Java中线程的生命周期,首先看一下下面这张较为经典的图:新建(new Thread)当创建Thread类的一个实例(对象)时,此线程进入新建状态(未被启动)。例如:Thread t1=new Thread();就绪(runnable)调用Thread类的start方法,线程已经被启动,进入就绪状态,正在等待被分配给CPU时间片,也就是...原创 2019-05-27 22:52:46 · 6259 阅读 · 0 评论 -
什么是线程安全?如何保证线程安全?
什么是线程安全参考:《Java并发编程实践》中对线程安全的定义:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象就是线程安全的。《深入理解Java虚拟机》的作者也认可这个观点。本人也认为这是一个恰当的定义,因为线程安全的主体是什么?是方法还是代码块...原创 2019-05-27 23:22:44 · 42639 阅读 · 2 评论 -
线程核心参数? 如何合理配置线程池参数?
线程池的核心参数corePoolSize(核心线程数)(1)核心线程会一直存在,即使没有任务执行; (2)当线程数小于核心线程数的时候,即使有空闲线程,也会一直创建线程直到达到核心线程数;(3)设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关闭。queueCapacity(任务队列容量)也叫阻塞队列,当核心线程都在运行,此时再...原创 2019-05-29 23:34:02 · 9264 阅读 · 6 评论 -
ThreadLocal什么时候会出现OOM的情况?为什么?
转载地址:https://www.cnblogs.com/onlywujun/p/3524675.html原创 2019-06-18 22:37:56 · 5072 阅读 · 0 评论 -
synchronized、volatile区别、synchronized锁粒度、模拟死锁场景、原子性与可见性
synchronized、volatile区别、synchronized锁粒度synchronizedsynchronized是Java中的关键字,是一种同步锁。有以下几种用法:用法1、修饰方法:在范围操作符之后,返回类型声明之前使用。每次只能有一个线程进入该方法, 此时线程获得的是成员锁。2、修饰代码块:每次只能有一个线程进入该代码块, 此时线程获得的是成员锁。3、修饰对...原创 2019-06-18 22:57:11 · 1916 阅读 · 0 评论 -
springCloud微服务调用失败【CannotGetJdbcConnectionException: Failed to obtain JDBC Connection】
详情如下:2019-07-28 10:56:18.229 ERROR 16212 --- [nio-8081-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception ...原创 2019-07-28 11:06:47 · 2053 阅读 · 0 评论 -
Linux_centOS_5.7_64下如何安装jdk1.8&mysql
本文主要介绍的是如何是Linux环境下安装JDK的,因为Linux环境下,很多时候也离不开Java的,下面笔者就和大家一起分享如何jdk1.8的过程吧。JDK安装 环境 操作系统:Centos7_64JDK版本:1.8工具:mobaxterm类似XShell工具皆可 详细 下载安装包下载Linux环境下的jdk1.8,请去(官网)中下载jdk的安装文件...原创 2019-08-31 12:09:08 · 221 阅读 · 0 评论 -
在实际开发中Java中enum的用法
在日常项目的开发中,往往会存在一些固定的值,而且“数据集”中的元素是有限的。例如:st_code// 一些状态机制:01-激活 02-未激活 03 -注册。。等等还有一特性就是获取简单,配置方便。enum就很好的体现了;public enum ExceptionEnum { //通过括号赋值,而且必须带有一个参构造器和一个属性跟方法,否则编译出错 //赋值必须都赋值或都不赋值,...原创 2018-06-02 12:02:32 · 857 阅读 · 0 评论 -
Idea 配置codeTemplate
注释模版注释模版是指在编写代码时针对不同的类,方法或者其他文件时自动生成的注释信息。在eclipse我们很熟悉可以利用 /**,Enter在方法,类名等前一行来生成注释模板,但是IntelliJ IDEA并没有去按照原来的方法去实现。他引进了Live Template来达到类似效果。从eclipse到IDEAeclipse中的注释模板在code Template中,它存储的形式xml文件。修改相关...原创 2018-06-02 11:47:37 · 17492 阅读 · 0 评论 -
安装两个Eclipse 版本不一致,高版本无法打开
Could not create the Java Virtual Machine,A fatal exception has occurred。首先删除了 工作空间的配置然后删除掉C:\Windows\System32 里面的三个java文件 java.exe javas.exe javaw.exe 配置好环境变量就好了原创 2017-02-27 00:26:50 · 3270 阅读 · 0 评论 -
activiti 流程部署 保存流程图到数据库 保存二进制图片 存储失败
activiti 流程部署 保存流程图到数据库 保存二进制图片 存储失败具体错误如下具体 junit测试 结果 :提示如下:解决方法: 数据库版本不同 无法保存二进制文件到数据库表中!5.5.27--》5.5.49 数据库覆盖安装,不用担心数据库中表丢失 问题解决原创 2017-03-27 20:37:08 · 2939 阅读 · 0 评论 -
Eclipse4.5 Mars版本安装activiti插件 亲测可用
Eclipse4.5 Mars版本安装activiti插件 亲测可用学习使用activiti 在线安装一直,国内的网络真心的是 很苦 啊;在茫茫网络上面找到了很多插件的离线包 终于找到一个可以使用的,推荐大家,免去查找下载的烦恼:压缩包已上传 还没有审核。。稍后附加#文件覆盖 打开eclipse 勾选如图项目新建处说明已经安装成功!原创 2017-03-27 20:57:17 · 2371 阅读 · 2 评论 -
Spring中的一些面试题
谈谈你对spring IOC和DI的理解,它们有什么区别?IoC 【Inverse of Control】 控制反转的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spring框架管理,简单说,就是创建UserService对象控制权被反转到了Spring框架 IoC其实是遵循了软件设计理念的控制反转原则,面向对象的设计就是为了实现软件的更好的复用行和扩展性,原创 2017-03-27 22:18:36 · 290 阅读 · 0 评论 -
coder初入职场必备:Eclipse+Tomcat8+MAVEN+SVN 工作环境搭建
1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底。安装完成之后当然要配置环境变量了。——————————————————————————————————————————————————— 1.1新建变量名:JAVA_HOME 变量值:E:\Java\jdk1.6.0_43原创 2017-03-24 23:49:38 · 286 阅读 · 0 评论 -
sessionFactory' defined in class path /mappingDirectoryLocations配置问题
问题:配置好aplicationContext.xml,启动tomcat 出现如下问题 sessionFactory无法正常建立Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory原创 2017-03-17 11:36:04 · 764 阅读 · 0 评论 -
bufferedReader 读取文件第一行第一个字符丢失问题
在做一个解析pacp文件的时候需要读取文件中的每个属性,但是每次读出来的内容的每一行的第一个字符都被吞掉了,找了半天不知道为什么,后来看到在读取的时候用的read()方法,而且返回值是int类型,在变量初始化的时候默认应该是0,可能就这样把第一个给吞了(还是象不太清楚),read只会读取一个字节 不会自动读取下一个 只会读第一个字节 和指针不是一回事,但是如果使用readLine()函数就不会出现原创 2017-08-21 11:42:59 · 7054 阅读 · 0 评论 -
文件上传-阿里云OSS-存储文件
JS上传文件到阿里云OSS OSS支持流式写入和读出。特别适合视频等大文件的边写边读业务场景。 注意在OSS的控制台:跨域管理中设置允许的方法 <script> var client = new OSS.Wrapper({ region : 'oss-cn-beijing', accessKeyId : '输入你的acc原创 2017-08-24 22:09:43 · 2813 阅读 · 1 评论 -
ThreadLocal
1.ThreadLocal干什么的? 我们知道,在多线程程序中,同一个线程在某个时间段只能处理一个任务.我们希望在这个时间段内,任务的某些变量能够和处理它的线程进行绑定,在任务需要使用这个变量的时候,这个变量能够方便的从线程中取出来.ThreadLocal能很好的满足这个需求,用ThreadLocal变量的程序看起来也会简洁很多,因为减少了变量在程序中的传递. 2.Thr转载 2017-09-05 10:09:44 · 322 阅读 · 0 评论 -
tomcat加载失败
tomcat启动失败Connected to server[2017-10-16 09:02:28,149] Artifact basic-admin:war exploded: Artifact is being deployed, please wait...十月 16, 2017 9:02:31 下午 org.apache.catalina.startup.TldConfig原创 2017-10-16 21:04:39 · 806 阅读 · 0 评论 -
ztree通过ajax加载json数据中文乱码的解决方法:springmvc配置
一、问题描述使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢?此处为的异步请求的配置:Java代码 async: { enable: true, url: basePath + '/sysMenu/listSysMenu', au转载 2017-10-21 21:44:51 · 830 阅读 · 0 评论 -
SpringBoot多任务Quartz动态管理Scheduler,时间配置,页面+源码
页面展现后台任务处理:恢复任务 15s执行一次后台打印消息不BB了,直接上代码import.../** * 调度工厂类 * Created by jinyu on 2018/4/14/014. */@Service@Componentpublic class MySchedulerFactory { private static Logger logger = Logger...原创 2018-04-14 21:25:49 · 8235 阅读 · 11 评论 -
(SpringBoot-Jpa)使用Idea数据库自动脚本Generate POJOS生成 Entity对象,
因:使用SpringBoot -jpa,需要手动配置Entity 但是如果你的表中有很多属性,或者有很多表怎么办?? 每个手动写? 还是用mybatis。写mapper??? 解决:使用idea自动工具 使用工具可以生成pojo对象,但是缺少了注解: 手动修改李groovy文件,方便以后一键生成: import com.intellij.database.model....原创 2018-04-05 22:53:15 · 7912 阅读 · 7 评论 -
Struts2 学习记录-第一天
Struts2 -01struts2框架认识struts2框架是web层框架。struts2框架=webwork+strut1框架发展过来的。struts2框架设计主要用到技术:通过过滤器进行请求过滤,分发给相应的action。这里的action相当于之前的BaseServlet。对于struts2框架应该认识到该框架是一个web层框架,用于解决表现层的所有业务。原创 2017-02-21 21:44:15 · 293 阅读 · 0 评论