生产者消费者场景-wait、notify及BlockingQueue两种方式实现
生产者消费者场景用典型的wait、notify实现方式如下:
继续阅读 “生产者消费者场景-wait、notify及BlockingQueue两种方式实现”
种一棵树最好的时间是十年前,其次是现在
生产者消费者场景用典型的wait、notify实现方式如下:
继续阅读 “生产者消费者场景-wait、notify及BlockingQueue两种方式实现”
单例大致分为即时加载单例和延时加载单例,以下介绍几种常用的单例
1.枚举类单例 — 即时加载单例
优点:
1.简洁
2.线程安全
3.天然支持序列化,但能防止多次实例化
即时加载单例最为推荐的为枚举单例
例外:如果你的单例类必须继承某个超类,这种模式不适用
继续阅读 “几种常用单例”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<servlet> <servlet-name>jerseyws</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <init-param> <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name> <param-value>com.sun.jersey.api.core.PackagesResourceConfig</param-value> </init-param> <init-param> <param-name>com.sun.jersey.config.property.packages</param-name> <param-value>com.huawei.ies.momo.ws</param-value> </init-param> <init-param> <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> <version>1.9.1</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> <version>1.9.1</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-json</artifactId> <version>1.9</version> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-json-provider</artifactId> <version>2.8.9</version> </dependency> |
Java源代码搜索
http://grepcode.com/
J开源代码及文档搜索
https://searchcode.com/
电子书搜索
https://www.jiumodiary.com/
在线UML制图
https://www.processon.com/
Diff Check
https://www.diffchecker.com/
MarkDown编辑器
http://mahua.jser.me/
最近搞扩容,用nginx做负载均衡增加了几个节点,用Jmeter测了一下发现在高并发的请求下有很多500 Internal Server Error错误请求,看了一下日志发现并不是应用服务器抛的而是nginx抛的,查了一下发现原因是和文件打开句柄太小有关。
解决方法如下:
在Linux下输入
1 2 |
$ ulimit -n 256 |
Atom是Github推出的一款跨平台的文本编辑器,具体不介绍了直接走正题
需要用到的插件:
autocomplete-python 代码自动补全
script 可以在Atom里面运行python
atom-beautify 代码格式美化
python-autopep8 python 代码格式自动调整
这两天一个朋友跟我说他的服务器性能出了点问题,Production在大并发请求的时候响应速度很慢,本地却没与这个问题,我第一反应是这是不是配置问题?照理PRD环境不比本地差,最大的可能就是反向代理或者中间件配置导致的,后来想到可以看看系统的垃圾回收是否健康,正巧最近看到一天文章介绍GC机制的讲的非常好,分享大家看看#Java垃圾回收机制#
最近妹子在我诱骗下开始学习Python,这货是财务出生,然而这并不能阻止她对美的追求,Python大法好以至于她学的如此的卖力让我着实有点担心,担心的不是我是不是要学点什么跟她保持同步而是我要给她买macbook了….
Mac下启动mysql的方法一般有两种:
1.系统设置启动很简单,直接Start MySql Server
2.命令行启动
启动
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
但是发现在默认的Mac下MySQLCOM下根本没有任何文件,后来查了发现可以使用mysql support-files下的命令启动
1 2 3 |
sudo /usr/local/mysql/support-files/mysql.server start sudo /usr/local/mysql/support-files/mysql.server stop sudo /usr/local/mysql/support-files/mysql.server restart |
启动之后就可以通过mysql命令正常连接数据库了
1 |
mysql -u "yourUsername" -p "databaseName" |