- 浏览: 471228 次
- 性别:
- 来自: 北京
最新评论
-
白天看黑夜:
PDMReader实现pdm建模快速导出word,html文件 ...
powerDesigner PDM格式导出常见问题 -
小黄牛:
分布一个Dubbo分布式架构项目实战参考内容:http://w ...
dubbo学习 -
Emotion_小寳:
无意中看见了,给悦神赞一个!
openResty安装 -
bewithme:
zy116494718 写道bewithme 写道Ffmpeg ...
ffmpeg实例 -
zy116494718:
bewithme 写道Ffmpeg 这个类哪里来的?楼主你偷来 ...
ffmpeg实例
文章列表
1.master与worker
nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。我们也可以手动地关掉后台模式,让nginx在前台运行,并且通过配置让nginx取消master进程,从而可以使nginx以单进程方式运行。很显然,生产环境下我们肯定不会这么做,所以关闭后台模式,一般是用来调试用的,在后面的章节里面,我们会详细地讲解如何调试nginx。所以,我们可以看到,nginx是以多进程的方式来工作的,当然nginx也是支持多线程的方式的,只是我们主流的方式还是多进程的方式,也是nginx的默认方式。nginx ...
同步与异步
同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)。所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者*主动等待这个*调用*的结果。而异步则是相反,*调用*在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在*调用*发出后,*被调用者*通过状态、通知来通知调用者,或通过回调函数处理这个调用。
典型的异步编程模型比如Node.js
举个通 ...
第一部分:
Set的无序:
可以理解为报道的顺序,比如开会, 先签到的坐前排,后签到的做后排(对应List集合是先存入放前面,后存入放后面)。 还有一种安排方式是 身高矮的前面,高的坐后面。这就是按身高的自然排序坐(对应Set集合的),跟签到先后顺序无关。这种情况就是集合里说的无序。(这里的序指的是签到的顺序) 集合所说的序,指的是元素存入集合的顺序,当元素存入的顺序和元素的排序位置是一致时就是有序,否则就认为无序。 例如: 存入顺序为5-->4-->2-->1 取出顺序也为5-->4-->2-->1 则认为是有序,它的序有无只由 ...
redis实现分布式一致性事务
- 博客分类:
- 缓存相关
我们经常会遇到一种情况,就是方法中会调用本系统的方法做一些操作,然后再调用外系统方法做一些操作,这里当本系统方法执行成功,而外部系统方法执行失败的时候,往往我们需要回滚或者进行补偿操作,这里我们可以用redis实现。
//更新数据库, 操作之前先记redis
String seckillCheckedListKey = "secKillCheckedList";
String valKey = applyWare.getId() + "_" + DateUtil.form ...
redis分布式锁实现
- 博客分类:
- 缓存相关
做项目时遇到一个功能,需要3步,1)通过solr取一个已审核数,然后和可通过数进行比较 2)更新数据库审核状态 3)更新solr已审核数 ,这时遇到一个问题,就是当用户进行批量审核的时候,这时比如有10个品被审核,那这10个请求可能会被同时打到10个机器上,然后同时执行上段代码(1,2,3步),这时就有可能出现高并发的问题,比如现在已经审核了9个商品,然后最多审核10个,两个请求同时进来,第一个请求读取到的是9,然后开始执行2和3步,结果还没执行完3,第二个请求就进来了,这时他读到的也是9(由于还没重刷solr),所以就会导致多审核了一个商品。
由于是多台机 ...
mysql order by 索引
- 博客分类:
- MySQL
MySql性能优化,order by 不走索引的思考
2009-07-12 11:43
今天早上查看网站,发现非常慢!进Linux 用top查看,发现MySQL cpu到了100%。开始怀疑是mysql性能的问题,不会10万条数据就卡成这样吧?虽然我的linux是在服务器上放了个虚拟机,但也不至于10万条记录挂啊? 网上找了一大把文章,my.cnf也设置了,我虚拟机内存是2G,将key_buf设置成512M 还是卡。非常郁闷!
最后没办法,只能用explain来找原因了。结果还真找到了。所以说用mysql写查询语句,一定要注意索引,一个不小心,性能那是十万八千里。OK,下 ...
看到了两篇文章,讲数据库索引的,觉得很好,就分享一下。
第一篇:
MySQL索引原理及慢查询优化
NeverMore ·2014-06-30 18:35
MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操 ...
1)当idea中所有的jar包都无法访问的时候,可以去清除idea缓存,位置在File->Invalidate Caches
ThreadLocal线程池实例
- 博客分类:
- Spring
学习了多线程的理论后,下面我们来看工作中遇到的一个具体实例。
public Integer startAreaIndex(List<Long> activityIds) {
//获取所有常规频道的区块,这里得到的区块为4个,所以最终会启用4个线程
List<Area> areaList = areaServiceStub.queryAreaListByActivityIds(activityIds);
LogTypeEnum.ACTIVITY_SOLR.info("solr开始索引, ...
首先我们必须要先了解servlet的生命周期:
服务器只创建每个servlet的单一实例,首次创建servlet时,它的init方法会被调用,因此,init是放置一次性设置代码的地方,之后针对每个用户的请求都会创建一个线程,该线程调用前面创建的实例方法。多个并发请求一般会导致多个线程同时调用service(线程安全),service 方法会依据接受到HTTP请求的类型,调用doXXX方法。最后如果服务器卸载某个servlet就会调用servlet的destroy方法。
servlet是否线程安全?
通常情况下,系统只生成servlet的单一实例之 ...
字节流与字符流
先来看一下流的概念:
在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。
程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。
字节流与字符流
在Java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用
ibatis中要增加一个排序功能
按照惯性思维增加了这样的代码
<isNotNull prepend="," property="orderColumn">
order by #orderColumn#
</isNotNull>
运行起来不符合预期
检查了生成了原始语句,发现组装成的SQL变成了
order by 'name'
在orderColumn参数前后加上了引号,所以会不成功。
如果改成 order by $orderColumn$ 的话,因为$符表示的是拼接字符串,所 ...
apache配置域名转发,如访问80端口,当域名是a.com时访问tomcat1,当域名是b.com时访问tomcat2。
在httpd.conf 中加入
NameVirtualHost *:80<VirtualHost *:80> ServerName hd.jd.net ServerAlias hd.jd.net ProxyPass / http://localhost:8088/ ProxyPassReverse / http://localhost:8088/ ErrorLog logs/man_err ...
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它可以用来进行转码和批量截图工作。
首先先下载FFmpeg,然后解压缩后配置环境变量,系统变量中的PATH添加e:\ffmpeg\bin; 然后就可以用cmd执行ffmpeg命令了。
java中使用FFmpeg代码如下:
public static void main(String[] args) {
try {
boolean result1= new Ffmpeg().executeCodecs(&qu ...
activeMq实例
- 博客分类:
- 开源软件
JMS的全称是Java Message Service,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需 求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的业务逻辑。对于消息的传递有两种类型,一 种是点对点的,即一个生产者和一个消费者一一对应;另一种是发布/订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。
既然是使用的apache的activeMQ作为JMS的实现,那么首先我们应该到apache官网上下载acti ...