首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
junelyn
掘友等级
Java
|
内敛小渣渣
数学与代码结合,成就了虚拟世界的美丽景象
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
5
文章 5
沸点 0
赞
5
返回
|
搜索文章
最新
热门
高性能编程-2.1.1JVM内存模型详解
volatile:1.根据内存模型的规定,保持可见性。ACC_VOLATILE访问控制,可以保证没有缓存立马可见。 Java编程语言的语义允许编译器和处理器执行优化,这些优化可以与不正确的同步代码交互,从而产生看似矛盾的行为。 Java编程语言内存模型通过检查执行跟踪中的每个读…
高性能编程-1.1.7线程池原理
线程在Java中是一个对象,更是操作系统的资源,线程创建、销毁需要时间,如果创建时间+销毁时间>执行任务时间 就很不合算。 2.java对象占用堆内存,操作系统线程占用系统内存,根据jvm规范,一个线程默认最大栈大小1M,这个栈空间是需要从系统内存中分配的。线程过多,会消耗很多…
高性能编程-1.1.6线程封闭
多线程访问共享可变数据时,涉及到线程间数据同步的问题,并不是所有时候,都要到共享数据,所以线程封闭概念就提出来了。 数据都被封闭在各自的线程之中,就不需要同步,这种通过将数据封闭在线程中而避免使用同步的技术成为线程封闭。 线程封闭具体的体现有:ThreadLocal、局部变量。…
高性能编程-1.1.5线程通信
要想实现多个线程之间的协同,如:线程执行先后顺序、获取某个线程执行的结果等等。 jdk中对于需要多线程协作完成某一任务的场景,提供了对应API支持。多线程协作的典型场景是:生产者-消费者模型(线程阻塞,线程唤醒) 示例:线程1去买包子,没有包子,则不在执行。线程2生产包子,通知…
高性能编程-1.1.4CPU缓存和内存屏障
例如:CPU高速缓存,尽可能地避免处理器访问主内存的时间开销,处理器大多会利用缓存(cache)以提高性能。 L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存,一般服务器CPU的L1缓存的容量通常在32-4096KB。 由于L1级高速缓存容量的限制,为…
高性能编程-1.1.3线程中止
stop: 中止线程,并且清除监控器锁的信息,但是可能导致线程安全问题,JDK不建议使用。 从结果上看,没有保证同步代码块中数据的一致性,破坏了线程安全。 如果目标线程在调用Object class的wait()、wait(long)或wait(long,int)方法,join…
高性能编程-1.1.2线程状态
2.Runnable:可运行线程的线程状态,等待CPU调度。 3.Blocked:线程阻塞等待监视器锁定的线程状态。处于synchronized同步代码块或者方法中被阻塞。 4.Waiting:等待线程的线程状态。下列不带超时的方式:Object.wait、Thread.joi…
高性能编程-1.1.1Java程序运行原理分析
线程共享:所有线程能访问这块内存数据,随虚拟机或者GC而创建和销毁。 虚拟机规范中这是一个逻辑区划。具体实现根据不同虚拟机来实现。 JVM启动时创建,存放对象的实例。垃圾回收器主要是管理堆内存。如果满了,就会出现OurOfMemoryError。 虚拟机栈,每个线程都在这个空间…
Python 入门
1、编译型代码是将代码编译成适合机器执行的代码。解释型是在程序执行的时候一边编译一边执行,效率差。 2、Python优点:丰富强大的内置库和第三方库,语法简单 开源、跨平台。 Anaconda 可用于 Windows、Mac OS X 和 Linux。安装程序链接: https…
分布式之--初探Zookeeper
单机系统因处理能力上限,可用性,可靠性的考虑,变成分布式系统。 步控制;现在变成了多个计算机上的进程间的资源竞,也需要分布式协调。 Hbase 使用zookeeper进行Master选举,服务间协调。 Solr:使用zookeeper进行集群管理、Leader选举,配置管理。 …
下一页
个人成就
文章被点赞
8
文章被阅读
7,119
掘力值
262
关注了
17
关注者
1
收藏集
1
关注标签
5
加入于
2018-03-29