Logo

  • sbp810050504

    发布于:11 天前

    3

    JAVA基础学习之-AQS的实现原理分析
    AbstractQueuedSynchronizer是JUC的核心框架,其设计非常精妙。使用了Java的模板方法模式。首先试图还原一下其使用场景:对于排他锁,在同一时刻,N个线程只有1个线程能获取到锁;其他没有获取到锁的线程被挂起放置在队列中,待获取锁的线程释放锁后,再唤醒队列中的线程。线程的挂起是获取锁失败时调用Unsafe.park()方法;线程的唤醒是由其他线程释放锁时调用Unsafe.un
    阅读 478 评论 0 收藏 0
  • UMUTech

    发布于:15 天前

    0

    Netty 防止内存泄漏措施
    背景1.1直播平台内存泄漏问题某直播平台,一些网红的直播间在业务高峰期,会有10W+的粉丝接入,如果瞬间发生大量客户端连接掉线、或者一些客户端网络比较慢,发现基于Netty构建的服务端内存会飙升,发生内存泄漏(OOM),导致直播卡顿、或者客户端接收不到服务端推送的消息,用户体验受到很大影响。1.2问题分析首先对GC数据进行分析,发现老年代已满,发生多次FullGC,耗时达3分多,系统已经无法正常运
    阅读 375 评论 0 收藏 1
  • yerikyu

    发布于:18 天前

    0

    关于jHipster框架在构建中的出现的error修复
    jhipsterTheJDLobjectandthedatabasetypearebothmandatory.这个错误应该是在构建基于jHipster的spring-cloud项目中经常遇到的,因为这个在这个过程中会读取.yo-rc文件,之后生成相关的.json文件,再之后生成相关的.java文件,层层依赖,一环扣一环。以下是出错时的系统日志yerlkyu@HP-Z440:/xxx/xxxx/jd
    阅读 369 评论 1 收藏 0
  • java架构师1

    发布于:2019-01-19 16:24:24

    25

    在Java中使用redisTemplate操作缓存
    背景在最近的项目中,有一个需求是对一个很大的数据库进行查询,数据量大概在几千万条。但同时对查询速度的要求也比较高。这个数据库之前在没有使用Presto的情况下,使用的是Hive,使用Hive进行一个简单的查询,速度可能在几分钟。当然几分钟也并不完全是跑SQL的时间,这里面包含发请求,查询数据并且返回数据的时间的总和。但是即使这样,这样的速度明显不能满足交互式的查询需求。我们的下一个解决方案就是Pr
    阅读 3310 评论 1 收藏 0
  • ZeroOne01

    发布于:2018-12-24 23:21:12

    4

    解决HttpServletRequest的输入流只能读取一次的问题
    背景通常对安全性有要求的接口都会对请求参数做一些签名验证,而我们一般会把验签的逻辑统一放到过滤器或拦截器里,这样就不用每个接口都去重复编写验签的逻辑。在一个项目中会有很多的接口,而不同的接口可能接收不同类型的数据,例如表单数据和json数据,表单数据还好说,调用request的getParameterMap就能全部取出来。而json数据就有些麻烦了,因为json数据放在body中,我们需要通过re
    阅读 1417 评论 1 收藏 2 赞赏 1
  • huangjinjin520 专栏作者

    发布于:2018-12-17 11:27:14

    36

    精讲Spring Boot—— 入门+进阶+实例
    使用了Spring Boot后,能给开发人员带来哪些好处?能给运维人员带来哪些方便?甚至说能给公司带来哪些经济效益?
    阅读 5932 评论 18 收藏 2
  • java架构师1

    发布于:2018-11-18 17:31:16

    1

    深入理解QtCreator的插件设计架构
    +++date="2017-04-28T00:59:02+08:00"draft=truetitle="深入理解QtCreator的插件设计架构"blog="blog.qizr.tech"+++基于插件的设计好处很多,把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现.扩展功能与框架以一种很松的方式耦合,两者在保持接口不变的
    阅读 654 评论 2 收藏 0
  • 小柒2015

    发布于:2018-10-15 09:54:51

    10

    SpringBoot开发案例之整合Dubbo分布式服务
    前言在SpringBoot很火热的时候,阿里巴巴的分布式框架Dubbo不知是处于什么考虑,在停更N年之后终于进行维护了。在之前的微服务中,使用的是当当维护的版本Dubbox,整合方式也是使用的xml配置方式。改造前之前在SpringBoot中使用Dubbox是这样的。先简单记录下版本,Dubbox-2.8.4、zkclient-0.6、zookeeper-3.4.6。项目中引入spring-con
    阅读 1876 评论 0 收藏 1
  • Java架构

    发布于:2018-09-14 17:15:14

    3

    狼厂项目实践:通用检索框架准实时流的设计与实现
    背景检索对实时性的要求很高,不仅是对索引建立、结果召回、策略干扰等核心部分,也包括数据录入的部分。检索的数据流主要包括全量数据与增量数据,其中全量数据是在运行前就已经生成好的,在检索进程运行开始时就直接解析加载了,后面不会再产生,所以不会对录入有高实时性的需求;而增量数据理论上在整个检索进程运行过程中随时都可能新增,新增了就需要录入。所以,提高增量数据录入的实时性,对提升整个检索的性能有重要作用。
    阅读 10000+ 评论 0 收藏 1
  • 架构之路

    发布于:2018-09-12 16:11:00

    6

    Nginx+Redis+Ehcache:大型高并发与高可用的三层缓存架构总结
    对于高并发架构,毫无疑问缓存是最重要的一环,对于大量的高并发,可以采用三层缓存架构来实现nginx+redis+ehcache。Nginx对于中间件nginx常用来做流量的分发,同时nginx本身也有自己的缓存(容量有限),我们可以用来缓存热点数据,让用户的请求直接走缓存并返回,减少流向服务器的流量。1.模板引擎通常我们可以配合使用freemaker/velocity等模板引擎来抗住大量的请求:小
    阅读 10000+ 评论 1 收藏 10
写文章