`
zy116494718
  • 浏览: 471228 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
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 String seckillCheckedListKey = "secKillCheckedList"; String valKey = applyWare.getId() + "_" + DateUtil.form ...
        做项目时遇到一个功能,需要3步,1)通过solr取一个已审核数,然后和可通过数进行比较  2)更新数据库审核状态 3)更新solr已审核数  ,这时遇到一个问题,就是当用户进行批量审核的时候,这时比如有10个品被审核,那这10个请求可能会被同时打到10个机器上,然后同时执行上段代码(1,2,3步),这时就有可能出现高并发的问题,比如现在已经审核了9个商品,然后最多审核10个,两个请求同时进来,第一个请求读取到的是9,然后开始执行2和3步,结果还没执行完3,第二个请求就进来了,这时他读到的也是9(由于还没重刷solr),所以就会导致多审核了一个商品。        由于是多台机 ...

mysql order by 索引

  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 索引

看到了两篇文章,讲数据库索引的,觉得很好,就分享一下。 第一篇:   MySQL索引原理及慢查询优化 NeverMore ·2014-06-30 18:35 MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操 ...

Idea常见问题

1)当idea中所有的jar包都无法访问的时候,可以去清除idea缓存,位置在File->Invalidate Caches
学习了多线程的理论后,下面我们来看工作中遇到的一个具体实例。     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是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它可以用来进行转码和批量截图工作。         首先先下载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 ...
Global site tag (gtag.js) - Google Analytics