摄影之友电商平台秒杀和抢购的限流方案

Read More

fotomen电商平台秒杀和抢购的限流方案

商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因?

Read More

Jmeter并发测试

JMeter是Apache组织开发的基于Java的压力测试工具,能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)。

Read More

idea创建maven项目速度慢

下午更新了idea15,之前创建maven项目都是通过mvn的命令行来创建并选择骨架项目:

1
2
3
4
5
6
mvn archetype:generate
-DgroupId=com.melonlee.oauth2-server
-DartifactId=oauth2-server
-DarchetypeArtifactId=maven-archetype-webapp
-DinteractiveMode=false
-DarchetypeCatalog=internal

Read More

Day5-{9.异常}-异常处理、原子性

63.在细节消息中包含能捕获失败的信息

一句话: 在自定义异常时定义出现发生该异常的上下文参数信息以保证查错时能够得到有用信息。

Read More

Day4-{9.异常}-异常的使用场景、异常的种类、如何更好使用异常

57.只针对异常的情况才使用异常

一句话: 在合理的情况下再去使用try-catch,不要试图通过try-catch来控制程序流程,JVM不会优化 try-catch中的代码块。涉及到循环遍历的代码块尽量不要try-catch。

Read More

Day2-{8.通用程序设计}-局部变量、for-each、类库使用、谨慎使用float,double、自动拆装箱

45.将局部变量的作用域最小化

一句话:既然是局部变量就要保证它的一个作用域最小化,一方面是方便阅读,一方面也是防止离开作用域后的意外引用。要保证这一点就是在第一次使用该变量的时候才进行声明,并且声明都应该包含一个初始化表达式(一些try-catch语句例外)。

Read More

Day3-{8.通用程序设计}-字符串使用性能、接口引用对象、反射、JNI、优化、命名规范

50、51.字符串的使用场景及性能

一句话: 只有在适合使用字符串类型的场景时才使用字符串,不要过度依赖使用字符串;字符串的大规模拼接(+)会导致性能问题,建议使用StringBuffer(append)。

Read More

Day1-{2.创建和销毁对象}-静态工厂方法、构建器、私有构造器强化单例

1.静态工厂方法

当一个类需要多种方式来进行初始化的时候,我们需要构建编写多个该类的构造函数,需要定义不同的参数类型,参数个数来满足不同场景下该类的初始化。然而当一些特定业务需求时,参数个数和类型都是一样的,而代表的业务却不同的时候,使用构造函数来初始化类就很难了。

Read More

Java使用外部ttf字体文件

关键字:GraphicsEnvironment

1
2
3
4
5
6
7
8
//create the font
Font customFont = Font.createFont(Font.TRUETYPE_FONT, new File(filepath + "demo.ttf"))
.deriveFont(250f);
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
//register the font
ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, new File(filepath + "demo.ttf")));

Read More