详情

全站展示位

对多线程的执行效率探究——合理的任务并发拆分-鱼鱼的Java小站

通常,我们选择多线程执行任务有两个理由,一是复杂任务采用多线程处理能够在发生并发时让用户减少等待也能防止阻塞,一是充分利用空闲时间,提高任务处理的效率,就后者而言,此处探讨不考虑客户端并发是否有必要把一个任务拆分成多线程来处理 为了探究多线程的效率问题,我做了一个实验,将不同种类的任务分别用单线程和多线程执行,同时也试验了不同种类的锁机制 多线程,synchronized,并发效率,IO密集,任务拆分,CPU密集,并发,java,。。。

推荐

Spring源码解析(3) IoC容器配置读取和容器refresh-鱼鱼的Java小站

在文章Spring源码解析(I) 基于SSM看Spring的使用和Spring启动监听中,讲述了web容器启动后会触发的方法实现中生成Context的部分,回顾下核心方法: 我们已经分析到了0.处,他对我们生成的容器做了一个判断,对于web.xml监听初始化的Context,其生成的WebApplicationContext都是ConfigurableWebApplicationContext的子类,所以必然会进入if分支 configureAndRefreshWebApplicationContext,ApplicationContextInitializer,Spring,

Java三方类库-分类-鱼鱼Java的小站

web灵魂开发工程师鱼鱼的技术博客

做点有趣的!-分类-鱼鱼Java的小站

web灵魂开发工程师鱼鱼的技术博客

心灵鸡汤

  东汉时,杨震在赴任途中经过昌邑时,昌邑县令王密山来拜访他,并怀金十斤相赠。杨震说:”故人知君,君不知故人,何也”王密没听明白杨震的责备之意,说:“天黑,无人知晓。”

  杨震说:“天知,神知,你知,我知,何谓无知”王密这才明白过来,大感惭愧,怏怏而去。

列表展示

主站展示位

Spring MVC源码解析-分类-鱼鱼Java的小站

web灵魂开发工程师鱼鱼的技术博客

待办事宜-鱼鱼的Java小站

2018-10-18 解决XSS攻击问题(v-html) 针对缺省有所设置(blog:page等) 添加新增按钮 添加置顶 解决日志编辑首行出现空格 开发射线:一个匿名交流板 留言 联系方式 可回复 筑楼 时限性 超时关闭 匿名 默认匿名 日记,

南宫NG·28(中国)官方网站

南宫NG·28(中国)官方网站【www.ng28.com】最安全平台之一,公司产品广泛,提供南宫NG28最新网址,官网入口,app下载,手机网页版,登录,南宫NG28app官网24小时为您服务!更多精彩活动娱乐等着您

算法:递归-鱼鱼的Java小站

递归算法主要寻找: 终止条件:递归的尽头 单级递归的行为:在一次递归里要做的事情 返回值:每次迭代要return的东西 例如 首先,假定方法是已经实现的 终止条件为:当当前节点(传了空节点)或下一节点(传了单节点)为空,则无需反转返回当前节点 递归行为:假定之后的节点均已实现反转,则需要将已经反转的尾部的next变为当前节点,而当前节点由于是第一个节点,其next为null 算法,递归,

ConventionDAO文档(简版)-鱼鱼的Java小站

Conventiondao是基于Spring Jdbc、Freemarker以及一些约定的规则而实现的O/R Mapping 框架,只要简单的配置一下DTO与数据库表之间的对应关系就可以拥有这个数据库表的增删、改查等功能 字段名和pojo属性的对应,camel case(驼峰表示法),例如:表字段user_name 对应 Pojo的userName ConventionDAO,SQL,java,框架,

《超脱》-鱼鱼的Java小站

我年轻,又年老,连灵魂都无聊至极 我还从未如此深切地感受到:既超脱了自我,又生存在这尘世中间 ——《超脱》 《厄舍府的倒塌》 During the whole of a dull,dark soundless day 在那年秋季枯燥,灰暗而瞑寂的某个长日里 杂感,

使用Shiro和token进行无状态登录-鱼鱼的Java小站

我们之前可以使用shiro实现登录,但这些都是基于session或是cookie实现的,这些只能用于单机部署的服务,或是分布式服务共享会话,显然后者开销极大,所以JWT(JSON Web Token)应运而生,JWT是一套约定好的认证协议,通过请求携带令牌来访问那些需鉴权的接口 token,Shiro加密,无状态登录,auth0,java,单点登录,SSO,

JVM的垃圾回收-鱼鱼的Java小站

此文介绍Java的基本垃圾回收机制 GC主要回收的是堆区,在堆中是有对象分代的,一个对象每“逃”过一次回收,对象代数便+1,新生对象被称作新生代(如果是占据内存较大的对象直接定义为老年代),当代数一定时对象将由新生代变为老年代 同时在Java1.7之前还有永久代,保存了一些静态变量 Parallel,垃圾收集,Parallel,PS Scavenge,查看当前使用的垃圾回收器,G1,垃圾回收,ParNew,垃圾收集,Parallel Scavenge,jvm,CMS,Parallel Scavenge,Java,jvm,PS Scavenge,查看默认gc,GC,Serial,

用Quartz 写定时任务-鱼鱼的Java小站

Quartz是OpenSymphony开源组织在Job scheduling领域的一个开源项目,是一款清新友好的任务调度框架 Quartz两大基本功能是job和SimpleTrigger(作业和触发器) 核心的是Scheduler类 有以下几个相关类: Quartz,java,Job,定时任务,

MySQL杂记-鱼鱼的Java小站

Explain 可以分析一个SELECT语句的性能,只要加在查询语句之前即可,会输出关于查询语句的分析,分析这个例子: id: SELECT 查询的标识符. 每个 SELECT 都会自动分配一个唯一的标识符. select_type: SELECT 查询的类型. SQL,

造轮子1 注解管理-鱼鱼的Java小站

使用public @interface xxx{}可以自定义一个注解,在注解上面定义的注解叫做元注解 以下代码取自开源API文档生成项目Swagger: 在注解中也可以使用注解,我们称这些注解为元注解,上面代码中使用了一些比较常见的元注解 @Target({ElementType.TYPE})用于定义注解的使用范围,常见的包含 Annotation,造轮子,java,

基于Consul的服务注册与发现-鱼鱼的Java小站

注:文章基于Consul1.6.0版本,部分版本可能会有误差 本文中项目集成部分采用Java语言 consul官网,服务注册/发现是微服务架构中不可或缺的重要组件,起初服务都是单节点的甚至是单体服务,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问(,

多线程应用提高(III) 并发编程的艺术-鱼鱼的Java小站

《并发编程的艺术》p36:JMM不保证64位的long型和double型变量的写操作具有原子性 面试中可能经常会被问到HashMap和HashTable的区别,其中最重要的就是前者并不是线程安全的,但其实在高并发的情形下,后者的效率低的不像话甚至不可用,所以在jdk7之后出现了线程高效且安全的ConcurrentHashMap 多线程,并发,自旋,同步集合,乐观锁,java,ABA,CAS,分布式锁,

Mybatis的缓存机制、redis数据库缓存实现和相关问题-鱼鱼的Java小站

高并发环境下,数据库要承受非常大的压力,我们不能奢求每一次都只依赖分布式结构的读写分离数据库来解决问题,所以引入了数据库缓存的概念,这里的缓存不是具体的memcache或是redis,可能只是一块内存区域 此文介绍Mybatis的缓存机制 BatchExecutor专门用于执行批量sql操作,ReuseExecutor会重用statement执行sql操作,SimpleExecutor只是简单执行sql没有什么特别的 redis实现二级缓存,redis缓存,java,数据缓存,缓存,Mybatis使用注解配置缓存,Mybatis,并发,二级缓存的刷新,SQLSession,自定义缓存类,二级缓存,

博客寄语:

    博主很懒什么都没留下!

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。