首页
学习
活动
专区
工具
TVP
发布

云霄雨霁

专栏作者
209
文章
238851
阅读量
42
订阅数
线程安全性
线程安全 要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享和可变状态的访问。 从非正式的意义来讲,对象的状态是指存储在状态变量(例如实例或静态域)中的数据,对象的状态可能包含其它依赖对象的域。 一个对象是否需要实现线程安全,取决于它是否会被多个线程访问。要使得对象是线程安全的,需要采取同步机制来协同对对象可变状态的访问。 Java同步机制:关键字synchronized、volatile类型的变量、显式锁(Lock)、原子变量。 无状态的对象一定是线程安全的。 原子性 竞态条件(Rac
SuperHeroes
2018-05-31
8350
关系数据库语言SQL简介
SQL数据库的体系结构基本上也是三层结构,但术语和传统的关系模型属于不同。SQL中,关系模式称为“基本表”,存储模式称为“存储文件”,子模式称为“视图”,元组称为“行”,属性称为“列”。 SQL数据库的体系结构要点如下: 一个SQL模式是表和约束的集合; 一个表由行集构成,一行是列的序列,每列对应一个属性; 表有三种类型:基本表、视图和导出表。基本表是实际存储在数据库中的表,视图是由若干基本表或其他视图构成的表的定义,导出表是执行查询时产生的表; 一个基本表可以跨一个或多个存储文件,一个存储文件也可以或多个
SuperHeroes
2018-05-30
8140
离散数学中集合上二元关系的判定及实现
输入一个集合的二元关系,判定其是否满足自反性、反自反性、对称性、反对称性、传递性。并求出自反、对称和传递闭包。 大二上学期时的写的代码,C++语言实现。 #include<iostream> #include<string> using namespace std; class Relation//构造函数 { private: int R[11][2];//存储关系R int R1[11][2], R2[11][2], R3[11][2];//分别存储自反,对称,传递闭包 int m,n;//分别
SuperHeroes
2018-05-30
2K0
数据库概论
数据库的相关概念 数据独立性:指应用程序与数据库的数据结构之间相互独立。 数据库(DB):DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。 数据库管理系统(DBMS):是位于用户和操作系统之间的一层数据库管理软件,它为用户或应用程序提供访问DB的方法。 数据库系统(DBS):是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。 数据库技术:是研究数据库的结构、存储、设计、管理和使用的一门软件学科。 数据描述 数据描述历
SuperHeroes
2018-05-30
8370
数据结构----二叉堆和优先权队列
堆有序:当一棵二叉树的每个结点都大于等于它的两个子结点时,它被称为堆有序。根结点是堆有序的二叉树中的最大节点。 二叉堆:二叉堆是一组能够用堆有序的完全二叉树排序的元素,并在数组中按层级存储(不使用数组的第一个位置)。 二叉堆可以使用数组或者二叉树实现,在这里使用数组实现。在数组中,根结点放置在下标为1的空间内;下标k的结点的父结点的下标为⌊k⌋,它的两个子结点的下标为2k和2k+1.  堆的实现: 构造堆的过程中,肯定会用到比较方法和交换方法: //比较方法 private boolean less(int
SuperHeroes
2018-05-30
4920
Jalangi2 API
MyAnalysis /user/ ksen / Dropbox / jalangi2 / src / js /运行/ analysisCallbackTemplate。js,第101行 这个文件是编写定制的Jalangi 2分析的模板。简单地复制这个文件并重新编写您需要在分析中实现的回调。其他回调应该从文件中删除。 在以下方法中(也称为回调)可以选择不返回任何东西。如果所有的回调都没有返回任何值,那么我们就得到了一个被动的分析,其中具体的执行是未修改的,回调可以用来观察执行。您可以选择在一些回调中返回具有
SuperHeroes
2018-05-30
1.1K0
Java虚拟机--内存模型
缓存一致性: “让计算机并发处理多个任务”和“更充分利用计算机处理器的效能”之间看起来是因果关系,但实现起来非常麻烦。因为绝大多数运算任务都需要与内存交互,并非纯粹的计算。由于处理器和内存的处理速度不匹配(处理器运算速度远大于从内存中读取数据的速度),所以现代计算机系统通常加入一层高速缓存(Cache)来作为内存和处理器之间的缓冲:将运算需要的数据复制到Cache中,让运算能快速进行;运算结束后再从缓存同步到内存中。这样处理器可以不用等待缓慢的内存读写。 这种方法解决了处理器和内存之间的速度问题,但引入了一
SuperHeroes
2018-05-22
5100
Java虚拟机--类加载过程
上一篇:Java虚拟机--类加载时机 类加载的全过程包括:加载、验证、准备、解析和初始化。 加载: 在加载阶段,虚拟机需要完成3件事情: 通过一个类的全限定名来获取定义此类的二进制字节流; 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构; 在内存中生成一个代表这个类的Class对象,作为方法区这个类的各种数据的访问入口。 验证: 验证是连接阶段的第一步,这个阶段的目的是为了确保Class文件的字节流合法,并且不会威胁到虚拟机自身的安全。验证分为四个小阶段:文件格式验证、元数据验证、字节码验证、
SuperHeroes
2018-05-22
5220
Java虚拟机--运行时栈帧结构
栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行数据时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。每个方法从调用开始到执行完成的
SuperHeroes
2018-05-22
7750
Java虚拟机--Class文件结构
Class文件是一组以8位字节为基础单位的二进制字节流,各个数据项目严格按照顺序排列在Class文件中,中间没有任何分隔符。 如果一个数据需要8位以上的空间,则会按照高位在前(最高为字节在地址最低位,最低位字节在地址最高位)的方式分割成若干个8位字节进行存储。 Class文件只有两种数据类型:无符号数和表。 无符号数:属于基本数据类型,以u1, u2, u4, u8来分别代表一个字节、两个字节、4个字节和8个字节的无符号数,无符号数可以用来描述数字、索引引用、数量值或者按照utf-8编码构成的字符串值。 表
SuperHeroes
2018-05-22
7540
Java--编码问题
常见的编码格式: ASCII码 总共有128个,用一个字节的低七位表示,0~31是控制字符如换行、回车、删除等,32~126是打印字符。 ISO-8859-1 扩展了ASCII码,但仍然是单字节编码,总共能表示256个字符。 GB2312 全称《信息技术  中文编码字符集》,是双字节编码。总的编码范围是A1~A7,其中A1~A9是符号区,总共包含682个符号;B0~F7是汉字区,包含6763个汉字。 GBK 全称《汉字内码扩展规范》。扩展了GB2312, 它的编码范围是8140~FEFE(去掉XX7F),
SuperHeroes
2018-05-22
8580
Java--类和对象之基础知识
Java作为面向对象程序设计语言的特点: 所有东西都是对象 程序是一大堆对象的组合 每个对象都有自己的存储空间,可容纳其它对象----封装 每个对象都有一种类型----class 同一类对象能接收相同
SuperHeroes
2018-05-22
3370
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档