爱丽丝13 爱丽丝13
4年前
聊聊前端性能优化
为什么要做性能优化?性能优化有多重要?网站的性能对于用户的留存率、转化率有很大的影响,直白的说,提高网站的性能可以直接提高网站带来的收益。性能优化的分类前端的性能优化主要分为两类:1.加载时优化;2.运行时优化;例如压缩文件、使用CDN加载静态资源属于加载时优化;及时的解绑事件、减少DOM的操作属于运行时优化。吉
Wesley13 Wesley13
3年前
java 成神之路 (二)
前一篇博客介绍了如何通过注解反射来实例化一个对象。前面提出的一个优化建议。上一版本,每个含有@DAL(http://my.oschina.net/daL)注解的变量都会通过反射去得到实例化对象。要是同一个工程里面每次都对同一个类通过反射实例化一个对象出来,这样太浪费资源了。现在我们就模拟spring的bean工厂,
Wesley13 Wesley13
3年前
java并发处理 (同步与原子性)
3、线程同步与原子性线程安全:每一个线程只做自己的工作固然好,但是线程之间经常会相互影响(竞争或者合作),多个线程需要同时操作同一个资源(比如一个对象)是常有的事。这个时候,线程安全问题就出现了。举一个《thinkinginjava》第四版中的例子。有一个EvenGenerator类,它的next()方法用来生成偶数。如下:public
Stella981 Stella981
3年前
APM:实质提升 Serverless 可观察性
Serverless可观察性现状Serverless一方面降低了开发者的运维负担,开发者无需关注底层资源的情况;另一方面,需要满足开发者对性能、对指标的可观察性的需求。目前的Serverless应用架构,大多会涉及多个云服务,函数间、函数与其他云服务间的调用关系复杂,人工梳理和掌握全局依赖情况的难度大,定位性能
Stella981 Stella981
3年前
HttpClient多线程并发问题
这篇文章概括了怎样在多线程环境下安全的使用HttpClient。建立连接在HttpClient中使用多线程的一个主要原因是可以一次执行多个方法。在执行期间,每一个方法都使用一个HttpConnection实例。由于在同一时间多个连接只能安全地用于单一线程和方法和有限的资源,我们就必须确保连接分配给正确的方法。而MultiThreaded
Wesley13 Wesley13
3年前
Oracle锁的学习
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。在数据库中有两种基本的锁类型:排它锁(ExclusiveLocks,即X锁)和共享锁(ShareLocks,即
Stella981 Stella981
3年前
Egret白鹭开发小游戏之自定义load加载界面
刚接触不久就遇到困难自定义loading。想和其他获取图片方式一样获取加载界面的图片,结果发现资源还没加载就需要图片,在网上百度了许多,都没有找到正确的方式,通过自己的摸索,终于,,,我成功了。。。下面介绍一下主要思想:首先,我们需要使用异步加载的方式,在加载界面之前加载loading界面需要的素材,然后再loadingUI中就可以大胆使
Easter79 Easter79
3年前
SpringSecurity进阶:OAuth2.0详解
OAuth2是什么?OAuth是一个为了方便用户登入而使用的授权流程,他的优点是不需要向第三方平台暴露我们的用户名和密码,而是使用授权服务器颁发短期的token和效验token的方式开放部分资源给第三方平台OAuth是一个授权协议不是认证协议OAuth2的授权方式!(https://p1tt
Stella981 Stella981
3年前
Sentinel 是如何做限流的
限流是保障服务高可用的方式之一,尤其是在微服务架构中,对接口或资源进行限流可以有效地保障服务的可用性和稳定性。之前的项目中使用的限流措施主要是Guava的RateLimiter。RateLimiter是基于令牌桶流控算法,使用非常简单,但是功能相对比较少。而现在,我们有了一种新的选择,阿里提供的Sentinel。Sentinel是阿里巴巴提供
Stella981 Stella981
3年前
Monitorix:一款面向Linux的轻型系统和网络监测工具
Monitorix是一款功能非常强大的免费开源轻型工具,目的在于监测Linux中的系统和网络资源。它可以定期收集系统和网络数据,并使用自己的Web界面,通过图形显示相关信息。Monitorix让用户可以监测系统整体性能,还有助于检测瓶颈、故障、不必要的超长响应时间及其他异常活动。Monitorix用Perl语言编写而成,许可证遵循通用公共许可证(GNU)