Java的反射慢吗?

反射很慢?

有些人说反射很慢,但是也没有人真正地测试过。spring的代码里有好多使用反射的地方,所以性能应该也没有那么差。

本文就来挖一挖反射的实现原理以及可能导致的问题。

阅读更多

open-tracing

Open-Tracing

现代微服务架构正在逐渐普及。面对真正高并发的生产系统,解耦成大量微服务后,以前容易实现的重点任务变得不容易实现了:用户体验优化、后台真实错误原因分析、系统内各组件的调用情况等。分布式跟踪系统(Zipkin、Dapper、HTrace、X-Trace等)可以解决这个问题,但是这些系统使用不兼容的API,难以整合到一起。

阅读更多

tomcat-startup-2

书接上回,我们从启动脚本跟踪到了Bootstrap类,发现它只是个传话筒,内部通过发射将调用都转给了Catalina,用官方的话来说就是roundabout approach(迂回战术),目的是为了不将tomcat的内部lib暴露给class path。

阅读更多

tomcat-component-lifecycle

Tomcat将组件的声明周期抽象为了不同的状态,同时定义了组件状态转移的状态机,并将其定义为Lifecycle接口,通过这个接口来管理所有组件。

Lifecycle 接口

Lifecycle 接口主要定义三个功能:

阅读更多

tomcat-startup

启动脚本

startup.sh

一般是用$CATALINA_HOME/bin/startup.sh脚本启动:

阅读更多

web.xml

load-on-startup标签

Servlets are initialized either lazily at request processing time or eagerly during
deployment. In the latter case, they are initialized in the order indicated by
their load-on-startup elements.

阅读更多

hexo迁移到ubuntu

系统切换到ubuntu之后,使用的apt安装的node,默认权限是sudo。安装hexo之后也必须以sudo身份执行。
需要修改下node的权限,命令如下:

1
2
➜  qsli.github.com (hexo|✚1…)  npm config get prefix
/usr/local

阅读更多