JAVA
Jonsnow1457
这个作者很懒,什么都没留下…
展开
-
关于int转换为float时精度丢失问题的讨论
JAVA中关于int、float的存储字节和精度的讨论 首先,JAVA的基本数据类型包括:byte、int、short、long、float、double、char、boolean。前七个数据类型所对应的字节大小分别为1、4、2、8、4、8、2。(先不讨论boolean的大小,有争议。) int 和float都是4字节。但因为所表示数据范围不同,其所存储的形式也不同。虽然都是32位,但int的...原创 2019-03-22 17:54:50 · 4586 阅读 · 0 评论 -
重写equals必须重写hashcode吗?(原理分析)
重写equals 和 重写hashcode的必要性和原理分析首先上Object类的源码: public native int hashCode(); public boolean equals(Object obj) { return (this == obj); }equals方法和hashcode方法是Object类的两个方法。(1)equals()...原创 2019-08-26 01:28:34 · 361 阅读 · 1 评论 -
JAVA(SpringMVC)文件上传下载以及对Http请求响应体的部分分析
JAVA 文件上传:前端界面(略显简陋):(1)未选择文件(2)选择文件点击上传后即可上传文件。前端代码:<form action="/teacher/tTeacher/upload" method="post" id="form1" enctype="multipart/form-data"> <input type="file" name="file"...原创 2019-06-21 17:29:12 · 752 阅读 · 0 评论 -
Stringbuilder原理以及StringBuffer
JAVA中String是不可变的,存放在字符串常量池中。当我们创建一个String时,它就已经是不可改变的了。观察String源码可以知道String类封装的是char数组常量,因此长度、内容均不可变:public final class String implements java.io.Serializable, Comparable<String>, CharSequ...原创 2019-06-03 20:48:44 · 187 阅读 · 0 评论 -
匿名对象的性能优势分析
在JAVA中,当我们新new一个对象时,通常会在同时将它赋值给一个变量。这样,在虚拟机的栈和堆中各开辟了一个新的空间。比如:Student a=new Student();栈和堆各开辟了一个空间。但是在某些时候,新new的对象赋值给变量并不是必要的。例如(1)将新new的对象传参给某个方法:Student a=new Student();int b=Calculate(a);...原创 2019-06-03 12:21:26 · 204 阅读 · 0 评论 -
数值类型乘除的优化位运算原理
引言:编程语言不只有直接对数值进行计算的运算符(+、-、*、/ 等等),还有精确到位的位运算符:左移<<和右移>>(1)位运算符简介位运算符用于对给定数值的每一位进行操作。左移运算符<<对数值的每一位进行左移操作,因为计算机是二进制数值,所以左移一位的实质是对数值进行乘2。以此类推,左移两位是对数值进行乘4,左移三位进行乘4。相应的,右移运算符>...原创 2019-06-03 00:21:03 · 199 阅读 · 0 评论 -
一篇文章看懂什么是Maven
什么是maven原创 2019-06-02 23:45:19 · 199 阅读 · 0 评论 -
从输入URL到加载页面的完整过程以及http报文的解析
当我们需要访问网络上的页面时,在浏览器输入URL(或者说网址),浏览器就会显示相应的页面。但是计算机和网络所经历的过程却远比表面上看到的要复杂,那么具体经历了什么呢。总体流程图:第一步 输入URL,域名服务器(DNS)解析域名,映射为IP地址为了标识互联网上的每一台计算机并使他们能够互相找到对方,国际组织NIC(Network Information Center)负责为每一台连接到...原创 2019-05-25 18:03:23 · 524 阅读 · 0 评论 -
对类的生命周期以及类的静态代码块、构造代码块、构造函数、普通代码块的执行顺序的讨论
类的生命周期首先,我们应该清楚java的代码不是直接在所在操作系统运行的,而是在java虚拟机中运行后,最终在所在操作系统执行。所以,Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(.class) 2、字节码由java虚拟机解释运行。运行过程图:1.加载2.连接3.初始化4.使用5.卸载...原创 2019-04-15 21:38:15 · 527 阅读 · 0 评论 -
RPC的原理以及演变
本文将从简单的网络请求(客户端/服务器端),到RPC的使用,逐步分析。一、普通的网络请求流程(java web、C/S)(1)客户端(一般为浏览器)通过提交表单或者点击链接等等方式通过form、ajax、a链接、js等方式发送http请求,url即为服务器地址,包含在http请求头中。(2)http请求头除了包含url之外,还有一些必要信息(如cookie等)。http请求体包含了http...原创 2019-09-08 00:39:22 · 257 阅读 · 0 评论