首页
学习
活动
专区
工具
TVP
发布

禁心尽力

专栏作者
67
文章
84558
阅读量
37
订阅数
如何使用线程锁来提高多线程并发效率
       今天对synchronized关键字的用法又有了更高一层的理解,特此记录一下。        一直对自己设计的多通道做单不是狠满意,并发效率低下。因为之前使用的锁一直是对象锁(this/类.class),这样则意味着每个线程抢到CPU执行权之后就会把整个类锁住,然后执行完被同步的全部代码后才释放锁,后面的线程才能执行同步代码,导致并发效率低下。还有一个问题就是:假如在某一时刻把整个类都锁住,那么这时在其他地方调用被锁住的这个类的其他方法,则要等到释放锁后才能调用。 模拟多窗口售票系统: 1
赵小忠
2018-01-24
1.1K0
多线程编程:阻塞、并发队列的使用总结
最近,一直在跟设计的任务调度模块周旋,目前终于完成了第一阶段的调试。今天,我想借助博客园平台把最近在设计过程中,使用队列和集合的一些基础知识给大家总结一下,方便大家以后直接copy。本文都是一些没有技术含量的东西,只是做个总结,牛哥还请绕路。 老习惯,还是先跟各位纸上谈会儿兵,首先说说队列,他主要分为并发队列和阻塞队列,在多线程业务场景中使用最为普遍,我就主要结合我所做过的业务谈谈我对它们的看法,关于它们的API和官方解释就不提了。 并发队列 并发队列:最常见的业务场景就是多个线程共享同一个队列中的所有资源
赵小忠
2018-01-24
1.6K0
这次真的忽略了一些ActiveMQ内心的娇艳
首先ActiveMQ有俩种消息队列模式:点对点和发布订阅,这俩种都有不可替代的应用场景,前者适用于消息唯一传递的业务,后者适用于分布式环境下进行多面数据同步的操作。 其次一些关于它的官方简介和安装步骤我就不占博客园数据库的内存了,写了也没啥鸟用,用烂的朋友想要提取点儿精华,没接触过的朋友请先安装一个玩玩点对点和发布订阅模式吧(http://www.cnblogs.com/1315925303zxz/p/6377551.html),理解一下这俩种机制的区别和出现消息临界值时的特性,我下面也放一些我前期用于测
赵小忠
2018-01-24
1.1K1
多线程之策略模式
今天给各位分享一种Java23种设计模式中最常见的设计模式--策略模式。为什么将策略模式和多线程绑在一起呢,不知道各位有没有注意过我们在进行多线程编程的时候,创建线程的方式有2种,一种是继承Thread类,另外一种就是实现Runnable接口;当然,我们会毫不保留的选择第二种,因为扩展性强,习惯接口开发等等原因,但是第二种方式还潜藏了23种Java设计模式中的其中一个模式,那就是低调而又强势的"策略模式"。        说说策略模式吧,这种模式的设计思想就是:为了考虑业务逻辑的千变万化和复杂程度是不一定的
赵小忠
2018-01-24
8950
Java设计模式之模板方法设计模式(银行计息案例)
       不知道为什么,这几天对Java中的设计模式非常感兴趣,恰巧呢这几天公司的开发任务还不算太多,趁着有时间昨天又把模板方法模式深入学习了一下,做了一个客户在不同银行计息的小案例,感触颇深,今天给各位分享一下,可能有些常识我在程序中运用的不是很到位,希望各位谅解。        模板方法模式呢,按我意思理解:就是将完成某件事情固定不变的步骤设计成模板类用final修饰的方法,然后将不确定的业务逻辑设计成抽象的方法,目的就是让子类继承并且复写该抽象方法,能够为了实现可扩展性。官方的说法:定义一个操作中
赵小忠
2018-01-24
1.2K0
Tomcat和Java Virtual Machine的性能调优总结
       就算生不逢时,也该理解理解了。对于一些性能调优的话题我是一直插不上嘴,只是针对昨晚看到的一篇性能调优的文章,我忍不住了。 Tomcat性能调优:        找到Tomcat根目录下的
赵小忠
2018-01-24
7230
SpringBoot整合Mybatis之进门篇
已经有好些日子没有总结了,不是变懒了,而是我一直在奋力学习springboot的路上,现在也算是完成了第一阶段的学习,今天给各位总结总结。        之前在网上找过不少关于springboot的教程,都是一些比较粗糙的文章,就连百度百科也是少的可怜,所以进度一直跟不上计划。下面根据我这几天的学习和摸索,谈谈我对spring和springboot的区别,以及很多业界人士说它的快速开发,到底是快在哪儿,方便在哪儿?首先我认为在项目的架构搭建方面变得极其利索,不再需要像之前一样整合ssh或ssm那样进行一大
赵小忠
2018-01-24
2.6K0
SpringBoot集成MyBatis的分页插件PageHelper(回头草)
       俗话说:好?不吃回头草,但是在这里我建议不管你是好马还是不好马,都来吃吃,带你复习一下分页插件PageHelper。               昨天给各位总结了本人学习springbo
赵小忠
2018-01-24
3.7K0
总结切面编程AOP的注解式开发和XML式开发
       有段日子没有总结东西了,因为最近确实有点忙,一直在忙于hadoop集群的搭建,磕磕碰碰现在勉强算是能呼吸了,因为这都是在自己的PC上,资源确实有点紧张(搭建过程后期奉上),今天难得大家都有空(哈哈哈~~~),给各位总结一下Java开发猿人尽皆知的Spring框架它的核心组件——AOP(面向切面编程)。        老规矩,首先给各位说说它吧。AOP作为面向切面编程,是一种横向抽取的思想体现,不错,有了"横向切"这个概念呢,我们就应该会联想到之后的横切面、切入点,接着你有可能就会闭上眼睛想入非
赵小忠
2018-01-24
7530
后台模板管理系统___左侧菜单数据的异步加载
 对于搞Java的我来说,前端JS我是有点愚冻,今天在我的博客地盘我就悄悄发布一篇没有技术含量的文章,这次怎么说我也是完完整整的把公司后台管理系统的菜单异步加载独自搞出来了,对自己也是一个小小的提升,话不多说开始写步骤。   同志们都知道,后台系统嘛无非就是一套模板样式,分为头文件,左侧菜单和主体内容,在多了就加个页脚文件。但是为了提升系统的性能,很多公司都习惯将系统的目录数据放在缓存,然后通过异步请求的方式单独加载出来,我们公司也不例外。   首先系统欢迎页面中包含左侧菜单jsp文件,代码如下: 1 <
赵小忠
2018-01-24
2K0
反射+自定义注解---实现Excel数据列属性和JavaBean属性的自动映射
简单粗暴,直奔主题。 需求:通过自定义注解和反射技术,将Excel文件中的数据自动映射到pojo类中,最终返回一个List<pojo>集合?   今天我只是通过一位使用者的身份来给各位分享一套超级可以的POI“工具”,这套工具我只是第一个使用者,创作者是我的朋友,他喜好钻研底层和算法,擅长计算机软硬件,在我心里他一直是神一样的存在,每天晚上10点后我才能看到他,因为他每天需要加班,需要有更多时间能够学习,唉,这种毅力和耐力,我是真的羡慕,因为我也一直在努力,能够得到更多的东西。   首先关于jar的管理,
赵小忠
2018-01-24
2.4K0
Spring和SpringMVC父子的容器之道---[上篇]
昨天,给数据组写接口,不小心掉进坑里挣扎了半天,最后发现是spring和springmvc它们虽是父子但并不和谐,于是在此一记。        Spring和SpringMVC作为Bean管理容器和MVC层的默认框架,已被众多WEB应用采用,而在实际开发中,由于有了强大的注解功能,很多基于XML的配置方式已经被替代,但在实际项目中,我们经常会同时配置Spring和SpringMVC的配置文件,分层来管理它们,但是有时候就会出现那么一些奇怪的异常,一旦进坑,让你无法自拔,就在昨天给数据组写接口时,我进坑了,
赵小忠
2018-01-24
1.1K0
解决在控制层springmvc框架发出的400状态的错误
错误场景: 错误分析:   这也是我第一次遇到这个类型的异常,400响应状态代表:客户端发出的请求中携带的参数与服务器端接受的参数类型不匹配,进一步就是说我后台的实体类中数据类型为Date,而前台传递
赵小忠
2018-01-24
1.8K0
第一道防线__SpringMVC配置拦截器
这几天在公司自己开发一个小系统,但是系统的安全性也得考虑,起初没注意,赶急就光关心业务逻辑和实现效果。最后老大一出手,就把最严重的问题指出来了,他说你这根本没安全性可言,于是我试着将公司使用的spring security框架拿过来,但是在这之前我又尝试配置一下springmvc的拦截器,也可以说是网站的第一道防线。   这里我就拿用户登录问题来说吧。   1、首先自己手动编写一个拦截器类(自定义拦截器类),伪代码如下: 1 public class LoginInterceptor implement
赵小忠
2018-01-24
4870
持久层框架之MyBatis
1、mybatis框架介绍:   MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码
赵小忠
2018-01-24
9060
springmvc框架开发常用的注解总结
1、@Controller使用:表示表现层中的JavaBean被spring容器管理。 2、@requestMapping使用:   a) 在方法上: 标记url到请求方法的映射, 就相当于从一个url找到对应需要访问的controller层的方法   b) 用在类上: 窄化请求映射, 就是相当于在url上加了一层目录,防止你和你同事起的请求url地址重名   c) 限制请求的类型:     如果限制请求的类型, 访问的时候如果类型不匹配会报405错误     @RequestMapping(value="
赵小忠
2018-01-24
6740
springmvc框架开发中解决产生的乱码情况
一:解决post请求方式产生的乱码情况 示例代码如下: 1   <!-- 解决post乱码 --> 2 <filter> 3 <filter-name>CharacterEncodingFilter</filter-name> 4 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 5 <init-param> 6
赵小忠
2018-01-24
6370
下载安装ActiveMQ(消息队列)
安装步骤: 第一步、安装jdk环境,因为ActiveMQ是使用java语言编写。 第二步、将下载好的activemq压缩包上传至Linux系统,进行解压。 第三步、进入解压后的bin/目录,进行启动a
赵小忠
2018-01-24
9221
mybatis_开发篇
一、使用mybatis的动态代理方式开发 需求:这里以crm系统中分页条件查询所有的客户信息的功能为例? 1、创建工程 2、引入所需的jar包 3、引入日志文件、数据库连接参数的配置文件等 4、创建m
赵小忠
2018-01-24
4470
mybatis_个人总结
在使用mybatis框架开发数据访问层的过程中,我在这段时间遇到很多细节问题困住我,在这里我来分享一下我遇到的坑,希望能帮到大家。 一、mybatis动态代理方式开发的规范: 1、注意在mybatis映射配置文件中的namespace属性的值必须是mapper接口的全路径名称。 2、注意映射文件中的标签上的id的值必须和mapper 接口中的方法名称保持一致。 3、要求映射文件中传入参数的数据类型必须和mapper接口中方法上形参的数据类型保持一致。 4、要求映射文件中输出参数的数据类型必须和mappe
赵小忠
2018-01-24
5670
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档