原型模式

场景假设现在我需要发送1000W封邮件,我使用多线程发送邮件(单线程的话,发完邮件我也入土了,时间太久。),我创建了一个邮件对象,每次给邮件对象赋值,然后发送出去,但是使用多线程,就遇到了线程安全问题,当线程一,创建好邮件对象后,还没有进行发送邮件操作时,线程二 又对邮件对象进行了赋值,然后线程一开始发送邮件,此时线程一发送的邮件对象,其实已经是线程二赋值的邮件对象了。那么怎么通过设计模式解决这个问...
阅读(33) 评论(0)

springboot缓存 之 从Cache中取出所有条目

背景前两天遇到一个问题,就是将一个 key ,value1、value2 、value3、value4…… 也就是一个 key 多个 value 的数据结构放到 缓存中。这个简单,我就把他们都放到了GuavaCacheManager 缓存中,(GuavaCacheManager可以参考这里 点我 ) 但是在取出数据的时候遇到了一个问题。问题我门知道 GuavaCacheManager 的数据结...
阅读(227) 评论(0)

springboot-AOP

先了解AOP的相关术语: 1.通知(Advice):通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。 2.连接点(Joinpoint):程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。 3.切入点(Pointcut)通知定义了切面要发生的“故事”和时间,那么切入点就定义了“故事”发生的地点,例如某个类或方法的名称,Sprin...
阅读(40) 评论(0)

MySQL 记录不存在插入存在则更新

亲测有效;原文地址:http://www.cnblogs.com/emanlee/p/3854812.htmlINSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; INSERT 中 ON DUPLICATE KEY UPDATE的使用如果指定了ON DUPLICATE KEY UPDATE,并且插入行后会导...
阅读(31) 评论(0)

利用java 的动态代理模拟spring的AOP

AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。平常我门需要记录一些操作的日志,需要在操作的业务逻辑代码里嵌入日志模块的代码。这些日志模块的代码与操作的代码逻辑无关,只是做一个记录,而且在其...
阅读(40) 评论(0)

spring 之 自己动手实现IOC

扯淡学 java 的人应该都知道spring,学spring的人呢都应该知道 IOC和 AOP 对吧。今天就简单的说一下spring 的IOC。IoC是Spring框架的核心内容,IoC(Inversion of Control)控制反转,是一种设计思想,DI(依赖注入)是实现IoC的一种方法。 其实spring就是一个容器,一个bean容器。主要是完成了完成对象的创建和依赖的管理注入。什么是控制...
阅读(37) 评论(0)

mybatis 获取更新(update)记录的id 之< selectKey > 用法

问题用mybatis update 记录,更新过后想要更新记录的id 怎么办?平常我门都是更新数据,用更新的条件再查询一次,得到更新的记录。这样我门就进行了两次数据库操作,链接了两次数据库。增加了接口的处理事件,因为链接数据库是很耗时的操作。简介其实可以通过 mybatis 的 selectKey 标签来解决这个问题。 selectKey 这个标签大家基本上都用过,比如在插入数据的时候,返回插入数...
阅读(93) 评论(0)

mysql 常用函数

HAVING在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。O_Id OrderDate OrderPrice Customer 1 2008/12/29 1000 Bush 2 2008/11/23 1600 Carter 3 2008/10/05 700 Bush 4 2...
阅读(50) 评论(0)

阿里云ecs安全组引发的血案

Can’t connect to MySQL server on ‘xxx.xxx.xxx.xxx’(36) Can’t connect to MySQL server on ‘xxx.xxx.xxx.xxx’ (60) 烦人背景阿里云ecs centos 7.2、 docker1.8 mysql 5.7.10 看到这个就头疼,今天在阿里云ecs(系统是centos 7.2)安装了docker...
阅读(224) 评论(0)

mac/linux 安装tensorflow和安装Anaconda

无论是在mac 还是在Linux下安装tensorflow 都需要如下步骤: 1:安装python 2:安装pip 3:安装tensorflow Linux 安装tensorflow下安装比较简单(Linux 下的环境为python2.7.5,tensorflow 0.9。)1. 安装pythoncentos自带python2.7.5,这一步可以省略掉。2. python-pipyum in...
阅读(350) 评论(0)

zabbix 配置监控项和web监控

我使用zabbix的模式是 zabbix agent + zabbix server 的模式。这篇博客的目的就是记录一下,如何配置一个简单的监控项,监控我门服务器的某个指标。在开始之前要清楚zabbix 主要内容。zabbix 中有 配置主机(host)、监控指标(item)、监控项阀值(trigger)、监控被触发的动作(action)、发送告警的媒介(media type)。item 是一个监控...
阅读(72) 评论(0)

rpmbuild制作rpm 包

什么是rpm包?rpm 相当于windows中的安装文件,它会自动处理软件包之间的依赖关系。 rpm优点: 包管理系统简单,通过几个命令就可以实现包的安装、升级、卸载。 安装速度比源码包快的多。 缺点: 经过编译,不能看到源代码,功能选择不如源码灵活。依赖性强。 首先说一下流程: 打rpm 包需要的东西有 源码、spec文件(打rpm包的脚本)、rpmbuild工具。1. 安装rpmbuil...
阅读(66) 评论(0)

python 语法学习小结

基础 当语句以冒号:结尾时,缩进的语句视为代码块。使用4个空格的缩进。 Python程序是大小写敏感的,如果写错了大小写,程序会报错。 Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进。 十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。 字符串是以单引号’或双引号”括起来的任意文本, 转义字符\可以转义很多字符,比如\n表示换...
阅读(91) 评论(2)

java中使用反射机制获取实体类集合的某个属性值

需求今天遇到一个需求。需要从几个对象的集合中取出对象的某些属性。怎么办呢?哪就利用反射机制写个方法吧。思路入参首先是几个对象的集合,那么方法的入参就是 list 因为是不同对象所以还是得用泛型。用反射当然得有 参数Class 最后还得有第三个参数就是需要获取的属性名。出参出参比较容易,就搞个String好了实现public String getStringAbel(List o,...
阅读(204) 评论(0)

spring的multipartResolver和java后端获取的MultipartHttpServletRequest方法对比 (附:遇到的坑)

原文地址: http://www.cnblogs.com/yskcoder/p/4718198.html这两天在用spring进行上传上遇到问题,今天进行了问题的排查,这个过程也增加了我看spring源码的兴趣!还是很有收获的!首先首先先给A组提供了上传接口,并没有在spring的配置文件进行multipartResolver的配置,后台Controller的java的获取为:MultipartR...
阅读(133) 评论(0)
320条 共22页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:369813次
    • 积分:6532
    • 等级:
    • 排名:第3533名
    • 原创:286篇
    • 转载:34篇
    • 译文:0篇
    • 评论:106条
    博客专栏