Java教程

Java核心技术

本文主要是介绍Java核心技术,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
c语言 书写太慢 成本特别高 速度极快 java 和c 是基础语言 java和go基本互通 其他语言只是辅助语言 生态环境 邀请一些大牛去加入社区 完善环境 infoQ CCF官网 java社区 多线程 同时运行多个任务 高级语言都需要安装环境 因为操作系统本身对他们不识别 JDK .java -.class JRE 运行.class 翻译给操作系统 JDK包含JRE SE 创建团队 初始团队的功能 java自带的最初级的功能 可以实现任何功能 EE 网站开发 ME 手机端开发 SDK 代码使用样例 调用样例 Java所有内容都在类里面 驼峰命名法 0 变量名 方法名 其他文件 文件夹小写字母开头 小驼峰命名法 类名 大写字母开头 大驼峰命名法   byte 8bit short 16bit 0 int 32 long 64 float 32 double 64 char 根据编码决定 8,16,32 boolean 32   0 float在小范围内 大范围内精度丢失厉害   0 float 离0越近越密集 离0越远越疏松 float 1 8 23 double 1 11 52 boolean--32 理论上只需要1bit 高速缓存在内存中至少4kb,但高低电压传输,单个文件大文件就少,因为boolean使用频率较高,占用内存少的化,单个4kb 中数据量就会增加,阻塞量就会增加,所以用32位 计算机最小储存单元1b=8bit 一个像素点包含五个数字 包含6个信息 0 像素点排列成形状 x y坐标用short类型表示 16+16=32 颜色比例都是0-255每个颜色 8+8+8=24 56bit表示一个像素点   0 编码 每个字大概200个像素点 大概11200bit 编码0000 记录a的每个像素的信息 编码0001记录b 使用的时候 把编码依次写出来0000.......00010001000100010001 这样的化一次占4bit 10个字一共占40bit 调用编码 得出aaaaabbbbb 记事本对应是编码 记事本的原理 每一个磁颗粒都有ns极 对外是n是1 对外s是0 磁盘切割磁感线产生电压 0     0 解决正负电压的问题 原始磁头加一个3v电压 就将正负电压变成了高低电压 3v+2v=5v 3v+(-2v)=1v 将高低电压传输 以编码的形式 编码对应提前存储好的格式 byte a=90; byte b=0x2a;十六进制 byte c=0b101;二进制 byte d=063; 八进制 long e=0x324afdc4L; 被final修饰的是 常量 所有字母都要大写 常量不能被修改 final byte KL=90 final作用:修饰常量,修饰的类不可以被继承,修饰的方法不可以被重写,防止指令重排序(并发) 类常量 某个常量可以在一个类中的多个方法中使用 static fina丨   0 实线是可以转化 虚线是可以转换但会丢失精度 a++ 先带入后操作 ++a先加后操作 a=a++; 相当于a=a; a=a+1; 但是相同元素这样弄的话只取前面一个等号a=a; b=a++; b=a; a=a+1; 位运算 << 0 位运算速度特别快 cpu只支持加运算 所以位运算只需要运算一次特别快   0 计算机机中运算都是用位运算 将二进制数 拆分 0 万亿级别的数 0 最多存在40次运算 进行40次位运算   0 超范围计算会报错 0 数组 为什么上来要申请足够大的空间 0 如果不申请足够大的空间,就会被占 数组 0 修改的时候必须新建一个数组 字符串常量池 字符串变化之后,原来的字符串在常量池中不会被删除 0 避免了 重复的创建回收 常量池会定期检查长期不使用的字符串 删除   equals 比较的是值 a.equals(b) 基本类型中==比较值 引用类型中==比较的是内存地址是否引用同一个地方 0 false true equals才能完美的比较值       0   0 null 是空 啥都没有 “”是个空字符串g   算法常用:char b=a.charAt(3) 获取对应位置字符 int d=a.length(); 获取字符串长度 int e=a.codePointAt(3); 获取码点 String str2=str1.replace("a","c"); int x=str1.indexOf("a"); int q=str1.indexOf(3005); int z=str2.lastIndexOf("c"); int h=str1.codePointAt(3); String j=str1.substring(0,str1.length()); char y=str1.charAt(3); boolean m=str1.endsWith("c"); System.out.println(str1.toUpperCase()); String[] kk=str1.split("a");   buffer的内部是数组 预先申请的比较大 支持在原地址修改     0 4kb 是页 在页中的数据 只有初始地址 4kb放20B也是用一个页 10000B原先传输一万次 现在传输3次 这是在操作系统中 数据储存的形式 地址位32位 2^32=4GB 16位 2^16=64kb   0 页块划分 后面是大小 前面是数量 0 操作系统划分映射成物理划分 变成[ 10*(2^9)-11*(2^9) )   字符串累加一次消耗一个页单元 到后面 加的数字占的字节很大 循环一次占好几个页 buffer 循环100次也才占1个页 它一开始就分配了一个足够大的空间 在原来的地址上加 String只申请当前所占的空间 在后面加数 开辟新的页   0
这篇关于Java核心技术的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!