首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
奥兰治的威廉
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
57
文章 12
沸点 45
赞
57
返回
|
搜索文章
最新
热门
Java性能调优(五)编程性能调优(4)
Tomcat 中经常被提到的一个调优就是修改线程的 I/O 模型。Tomcat 8.5 版本之前,默认情况下使用的是 BIO 线程模型,如果在高负载、高并发的场景下,可以通过设置 NIO 线程模型,来提高系统的网络通信性能,Tomcat 在 I/O 读写操作比较多的情况下,使用…
Java性能调优(四)编程性能调优(3)
Java 提供了 RMI 框架可以实现服务与服务之间的接口暴露和调用,RMI 中对数据对象的序列化采用的是 Java 序列化。而目前主流的微服务框架却几乎没有用到 Java 序列化,SpringCloud 用的是 Json 序列化,Dubbo 虽然兼容了 Java 序列化,但默…
Java性能调优(三)编程性能调优(2)
现在很多大数据量系统中都存在分表分库的情况。 例如,电商系统中的订单表,常常使用用户 ID 的 Hash 值来实现分表分库,这样是为了减少单个表的数据量,优化用户查询订单的速度。 但在后台管理员审核订单时,他们需要将各个数据源的数据查询到应用层之后进行合并操作。 例如,当我们需…
Java性能调优(二)编程性能调优(1)
在 Java6 以及之前的版本中,String 对象是对 char 数组进行了封装实现的对象,主要有四个成员变量:char 数组、偏移量 offset、字符数量 count、哈希值 hash。 String 对象是通过 offset 和 count 两个属性来定位 char[]…
Java性能调优(一)概述
CPU:有的应用需要大量计算,他们会长时间、不间断地占用 CPU 资源,导致其他资源无法争夺到 CPU 而响应缓慢,从而带来系统性能问题。例如,代码递归导致的无限循环,正则表达式引起的回溯,JVM 频繁的 FULL GC,以及多线程编程造成的大量上下文切换等,这些都有可能导致 …
Java并发编程笔记(十六)其他并发模型(2)
从操作系统的角度来看,线程是在内核态中调度的,而协程是在用户态调度的,所以相对于线程来说,协程切换的成本更低。协程虽然也有自己的栈,但是相比线程栈要小得多,典型的线程栈大小差不多有 1M,而协程栈的大小往往只有几 K 或者几十 K。 利用协程能够很好地实现 Thread-Per…
Java并发编程笔记(十五)其他并发模型(1)
按照面向对象编程的理论,对象之间通信需要依靠消息,而实际上,像 C++、Java 这些面向对象的语言,对象之间通信,依靠的是对象方法。对象方法和过程语言里的函数本质上没有区别,有入参、有出参,思维方式很相似,使用起来都很简单。那面向对象理论里的消息是否就等价于面向对象语言里的对…
Java并发编程笔记(十四)实战(1)
Guava RateLimiter 是如何解决高并发场景下的限流问题的。Guava 是 Google 开源的 Java 类库,提供了一个工具类 RateLimiter。我们先来看看 RateLimiter 的使用,让你对限流有个感官的印象。假设我们有一个线程池,它每秒只能处理两…
Java并发编程笔记(十三)并发设计模式(4)
生产者 - 消费者模式的核心是一个任务队列,生产者线程生产任务,并将任务添加到任务队列中,而消费者线程从任务队列中获取任务并执行。下面是生产者 - 消费者模式的一个示意图,你可以结合它来理解。 从架构设计的角度来看,生产者 - 消费者模式有一个很重要的优点,就是解耦。解耦对于大…
Java并发编程笔记(十二)并发设计模式(3)
并发编程领域的问题总结为三个核心问题:分工、同步和互斥。其中,同步和互斥相关问题更多地源自微观,而分工问题则是源自宏观。我们解决问题,往往都是从宏观入手,在编程领域,软件的设计过程也是先从概要设计开始,而后才进行详细设计。同样,解决并发编程问题,首要问题也是解决宏观的分工问题。…
下一页
个人成就
文章被点赞
53
文章被阅读
55,755
掘力值
1,331
关注了
15
关注者
80
收藏集
8
关注标签
12
加入于
2019-07-27