- 博客(23)
- 收藏
- 关注
原创 String 的一些问题
java面试中总喜欢问关于String对象的问题,比如:String s = new String("abc"); 创建了几个String对象还有: String s1 = "abc"; String s2 = "a"; String s3 = s2 + "bc"; String s4 = "a" + "bc"; String s5
2016-12-22 18:54:16 304
原创 spring
sping 是什么? 是为了解决企业应用开发的复杂性而创建的一个轻量级的控制反转(IoC) 和面向切面(AOP)的容器框架IoC 概念控制反转(Inversion of Control) 是一个重要的面向对象编程法则来削减计算机程序的耦合问题。它还有一个名字叫做 依赖注入(Dependency Injection DI) 。IoC不是什么技术,而是一种设计模式。 IOC(DI):其实这个Spring
2016-12-21 17:07:09 277
原创 mongo导入
导入线上mongo数据DBA提供的线上导出数据,一般为如下这种格式kof_211-> global_activity.bson global_activity.metadata.json players.bson players.metadata.json ...导入时,运行如下命令即可mongorestore --host=127.0.0.1:27018 --db=k
2016-12-19 11:22:48 282
原创 那些看似小并非小的小事
TODO开发 严格遵守定下的deadline开发前整理xmind:异常、性能瓶颈、划分优先级和难度注意代码规范,往高大上的代码去靠近:面向对象,设计模式互相之间的review代码化繁为简的能力:将代码形成配置,让策划科编辑分享 技术分享最近遇到的问题、好的网站资料、关于项目的思考、最近玩的游戏、电影等whatever多进行小范围的有目的性的讨论建议 后端框架、工具中的不足,创
2016-12-19 11:09:15 235
原创 java 标签
@JSON(serialize=false),过滤不需要的变量 用来忽略不想序列化的字段的,但是如果加了final,这个字段就无法被过滤
2016-12-09 12:08:30 357
原创 Java @Deprecated
代码中出现了这个注解,老大在新框架中还特意提及了 慎重使用带这个注解的方法。 用 @Deprecated注解的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择。在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告。如果你经常使用eclipse等IDE编写java程序时,可能会经常在属性或方法提示中看到这个词。如果某个类成员的提示中出现了个词,就表示这个并
2016-12-09 10:58:33 622
原创 java ThreadLocal
ThreadLocal是解决线程安全问题一个很好的思路,ThreadLocal类中有一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值对应线程的变量副本,由于Key值不可重复,每一个“线程对象”对应线程的“变量副本”,而到达了线程安全。我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模
2016-12-07 15:46:09 2911
转载 数据库性能优化之SQL优化
优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当然,也是收效最明显的优化手段。降低 CPU 计算除了 IO 瓶颈之外,SQL优化中需要考虑的就是 CPU 运算量的优化了。order by, group by,distinct … 都是消耗 CPU
2016-11-30 11:54:50 727
原创 mongo索引
1.由于 线上 出现卡顿, mongo大量查询,并且 有字段没有加索引导致,还有各种count ,导致大量并发, 2. 让我意识到索引的重要性,特此 写下总结: 之前也是做过mongo压测的, 几十万用户,mongo压力也没有那么大索引 MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据
2016-11-30 11:25:11 652
原创 Hessian http
Hessian是一个轻量级的remoting on http工具,采用的是Binary RPC协议,所以它很适合于发送二进制数据,同时又具有防火墙穿透能力。Hessian一般是通过Web应用来提供服务,因此非常类似于平时我们用的WebService。只是它不使用SOAP协议,但相比webservice而言更简单、快捷。Hessian官网:http://hessian.caucho.com/接下来我们
2016-11-30 11:14:48 697
原创 mongo查询
use db;1. db.system.profile.find().count(); 查看慢日志2. mongostat --host ip --port 端口 --authenticationDatabase admin -u 用户名 -p 密码 --rowcount 10 3
2016-11-12 13:31:45 336
原创 创建maven项目
前提 是你已经装好 mvn了 链接: http://www.jianshu.com/p/c25fe3c53506点击打开链接1.创建项目:mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -Dint
2016-11-09 11:56:19 265
原创 redis 配置的说明
redis.pool.maxActive=200 #最大连接数:能够同时建立的“最大链接个数” redis.pool.maxIdle=20 #最大空闲数:空闲链接数大于maxIdle时,将进行回收redis.pool.minIdle=5 #最小空闲数:低于minIdle时,将创建新的链接redis.pool.maxWait=3000 #最大等待时
2016-11-07 19:44:10 560
原创 Java 一些记录日志系统
在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息。 在Java世界中,有很多的日志工具库来实现日志功能,避免我们重复造轮子,下面我们就来逐一了解日志工具。1. 最常用的 在本地测试用的 System.out.println();这种方式使用起来非常简单,但是缺点却是非常多的: - 输出内容不可控 - 可读性差 - 大量的IO操作使程序变慢
2016-11-05 14:56:56 1984
原创 java 内存检测
JAVA进程占用CPU很高,除了程序确实是属于CPU密集型之外,很多时候都是出现了死循环,或者代码死锁造成的运行测试代码:public class TestCPUUseHigh { public static void main(String[] args) throws Exception { while (true) { //这里睡眠一下是为了防止
2016-11-02 18:52:14 419
原创 一些 简单的命令 怕自己忘
1. 当目录 东西太多 屏幕滚动条 显示不下 查看软连 可以试下 这个 ll | grep ^l2. ls | head -n 10 这样显示 前10行
2016-11-01 18:52:18 349
原创 Java Range
经常会有这样的需求 /** * 我们的需求 是 第一名 获得的奖励是reward_1 * * 第2-3名 是 reward_2 * * 第4-6名 :reward_3 * * 第7-10 : reward_4 * * 第11-30 :reward_5 * * 第31-100 :reward_6 * * 第101-300 : reward_7 *
2016-11-01 15:31:53 3222
原创 JAVA Arrays.binarySearch
public class TestArray { public static void main(String[] args) { String[] colors = {"blue", "green", "yellow", "gray", "black", "red", "white"}; Arrays.sort(colors); S
2016-11-01 15:16:29 433
原创 Java 线程
一、操作系统中线程和进程的概念现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是
2016-10-29 15:16:11 385
转载 疫苗:Java HashMap的死循环
在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的HashMap是非线程安全的,所以在并发下必然出现问题。但是,我发现近几年,很多人都经历过这个事(在网上查“HashMap Infinite L
2016-10-27 21:16:21 572
原创 rpm 用法
rpm -aq |grep httpd 查找 httpd rpm -aq | grep libmcrypt -a 显示出文件状态 -q 查询已已安装的软件信息rpm -aq 这个的意思呢,就是查找出来 已经安装过的rpm 软件包grep 管道命令 过滤 rp
2016-10-27 21:01:03 2021
转载 各大排序算法性能比较
所谓排序,即将原来无序的一个序列重新排列成有序的序列。排序方法中涉及到稳定性,所谓稳定性,是指待排序的序列中有两个或两个以上相同的项,在排序前和排序后看这些相同项的相对位置有没有发生变化,如果没有发生变化,即该排序方法是稳定的,如果发生变化,则说明该排序方法是不稳定的。如果记录中关键字不能重复,则排序结果是唯一的,那么选择的排序方法稳定与否就无关紧要了;如果关键字可以重复,则在选择排序
2016-10-26 11:46:04 762
原创 mongo 安装
1. curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz2. tar -zxvf mongodb-osx-x86_64-3.0.5.tgz3. mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb
2016-10-26 11:21:58 245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人