Java从入门到放弃--Java核心技术卷1学习笔记
zz775854904
这个作者很懒,什么都没留下…
展开
-
Java中的JVM和JMM之间的区别和联系
java内存模型(以下简称jmm)和java虚拟机模型(以下简称jvm)之间的关系:一 jvm结构jvm的内部结构如下图所示,这张图很清楚形象的描绘了整个JVM的内部结构,以及各个部分之间的交互和作用。1 Class Loader(类加载器)就是将Class文件加载到内存,再说的详细一点就是,把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是类加载器的作用。2 Run Data Area(运行时数据区) 就是我原创 2020-09-11 21:52:03 · 278 阅读 · 0 评论 -
Java的clone方法详解——原型模式
原文转载:http://blog.csdn.net/zhangjg_blog/article/details/18369201/Java中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?转载 2018-01-16 09:30:29 · 1010 阅读 · 0 评论 -
Java 8 新特性:Java 类库的新特性之日期时间API (Date/Time API )
原文转载:http://blog.csdn.net/sun_promise/article/details/51383618#日期时间API (Date/Time API ) 1.Java8之前java.util.Date和Calendar类的弊端1)最开始的时候,Date既要承载日期信息,又要做日期之间的转换,还要做不同日期格式的转载 2018-01-16 10:01:50 · 197 阅读 · 0 评论 -
第四章 对象与类(1)
面向过程的程序设计方法是先考虑算法,其次考虑数据存储结构,而面向对象的程序设计方法(OOP)调换了这个次序,将数据放在第一位,然后再考虑操作数据的算法。由类构造对象的过程成为创建类的实例,封装、继承概念。 对象的三个主要特征:1)对象的行为 2)对象的状态 3)对象标识 类之间的关系:1)依赖 2)聚合 3)继承 Java使用构造器构造新的实例,构造器是一种特殊的方法,用来原创 2018-01-15 17:09:33 · 170 阅读 · 0 评论 -
第四章 对象与类(2)
静态域:如果将域定义为static,每个类中只有一个这样的域。它属于类,而不属于任何一个独立的对象。而每一个对象对于所有的实例域却都有自己的一份拷贝。 静态常量:static final 静态方法:静态方法是一种不能向对象实施操作的方法。静态方法不能访问实例域,因为它不能操作对象。但是,静态方法可以访问自身类中的静态域。可以使用对象调用静态方法,但不建议使用,容易造成混淆,建议原创 2018-01-17 16:19:27 · 171 阅读 · 0 评论 -
Java的“关闭钩”解释
原文转载:https://my.oschina.net/itblog/blog/811053 https://www.cnblogs.com/langtianya/p/4300282.html什么是关闭钩子(Shutdown Hook)?先看看JavaDoc的说明:关闭钩子是指通过Runtime.addShutdownHook注册的但尚转载 2018-01-17 16:43:38 · 607 阅读 · 0 评论 -
Java:日期字符串格式大小比较
原文转载:http://blog.csdn.net/qq_17326933/article/details/47452467比较两个日期的大小,字符串格式的public class Timetest { public static void main(String[] args) { // TODO Auto-generated method stub转载 2018-02-01 15:22:55 · 10760 阅读 · 0 评论 -
第五章 继承(2)--反射
能够分析类能力的程序称为反射。使用它的主要人员是工具构造者,而不是应用程序员。 反射机制可以用来:在运行时分析类的能力 在运行时查看对象 实现通用的数组操作代码 利用Method方法原创 2018-03-22 14:21:20 · 138 阅读 · 0 评论 -
第五章 继承(1)
反射:反射是指在程序运行期间发现更多的类及其属性的能力。Java中所有的继承都是公有继承。子类的方法不能够直接访问超类的私有域,只有超类的方法才能够访问私有部分。通过super调用超类的构造器,使用super调用超类的构造器语句必须是子类构造起的第一句。如果子类的构造器没有显示地调用超类的构造器,则将自动调用超类默认(没有参数)的构造器。如果超类没有不带参数的构造器,并且在子类的构造器中有原创 2018-03-19 15:18:47 · 142 阅读 · 0 评论 -
Arrays.sort和Collections.sort实现原理解析
Arrays.sort和Collections.sort实现原理解析1、使用排序2、原理事实上Collections.sort方法底层就是调用的array.sort方法,而且不论是Collections.sort或者是Arrays.sort方法,跟踪下源代码吧,首先我们写个demopublic static void main(String[] args) { ...转载 2018-12-04 16:58:21 · 1122 阅读 · 1 评论 -
使用java.net包发送HTTP POST和GET请求的Java代码
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;import java.net.URLConnection;import java.util.List;imp...原创 2019-06-28 15:24:34 · 901 阅读 · 0 评论 -
android前端和java后端通过RSA加密方式传递数据时出现javax.crypto.BadPaddingException异常问题总结
1.异常描述:最近做项目为了增强数据传输的安全性用到了RSA加密。即android客户端将要传送的信息,用公钥通过RSA非对称加密算法加密后,传到服务器端(PC端)。服务器端用对应(密钥)的私钥来解密时解密失败,抛出“javax.crypto.BadPaddingException:Decryption error”异常。2.异常原因:Android系统使用的虚拟机(dalvik)跟SUN标...转载 2019-08-06 13:13:29 · 817 阅读 · 0 评论 -
Java Calendar 类的时间操作
原文转载:http://blog.csdn.net/joyous/article/details/9630893Java Calendar 类时间操作,这也许是创建和管理日历最简单的一个方案,示范代码很简单。演示了获取时间,日期时间的累加和累减,以及比较。注意事项:Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11转载 2017-12-25 14:29:10 · 707 阅读 · 0 评论 -
Java中的char类型
一:char的初始化char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。Java中使用Unicode的原因是,Java的Applet允许全世界范围内运行,那它就需要一种可以表述人类所有语言的字符编码。Unicode。但是English,Spanish,Ge转载 2017-12-15 15:17:36 · 8074 阅读 · 1 评论 -
第三章 Java基本程序设计结构(3)---数组
数组是一种数据结构,用来存储同一类型值的集合。 声明数组:int[] a 或者int a[];new运算符创建数组 int[] a = new int[100]; 数组长度不要求是常量:new int[n] 会创建一个长度为n的数组。 创建一个数字数组,所有元素初始化为0;boolean数组的元素初始化为false;对象数组初始化为null。一旦创建数组,就不能改变它的大小,如原创 2017-12-22 13:13:30 · 158 阅读 · 0 评论 -
java中Arrays类的简单使用
转载原文:点击打开链接java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:² 给数组赋值:通过fill方法。² 对数组排序:通过sort方法,按升序。² 比较数组:通过equals方法比较数组中元素值是否相等。² 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。转载 2017-12-22 13:42:33 · 251 阅读 · 0 评论 -
Java Arrays类的几种方法详解
原文转载: http://blog.csdn.net/u014082714/article/details/49924419Arrays的常用方法代码:[java] view plain copy print?package myArrays; import java.util.*; public cl转载 2017-12-22 13:52:20 · 681 阅读 · 0 评论 -
Object类的这三个方法---equals、hashCode和clone方法关键技术剖析
原文转载:http://blog.sina.com.cn/s/blog_93daad41010114um.html(1)关键技术剖析:(Object类的这三个方法)v equals方法:比较两个对象是否相等,结果为boolean型。v hashCode方法:获得两个对象的hash码,结果为int型。v Clone方法:克隆当前对象,结果为Object型。转载 2017-12-22 13:56:10 · 239 阅读 · 0 评论 -
JAVA深复制(深克隆)与浅复制(浅克隆)
1.浅复制与深复制概念⑴浅复制(浅克隆)被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。⑵深复制(深克隆)被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。转载 2017-12-22 14:51:53 · 215 阅读 · 0 评论 -
第三章 Java的基本程序设计结构(1)
Java区分大小写,拥有访问修饰符,类名的命名规则为骆驼命名法。注释有三种//、/* */、 /** */第三种可以自动生成文档。Java 8种基本数据类型: 1.整型(int、short、long、byte) 取值范围都是固定的与C++不同 byte和short用于特定场合,比如底层文件处理或者占用存储空间大的数组等。 2.浮点型(float、double)原创 2017-12-15 09:20:21 · 161 阅读 · 0 评论 -
第一章 Java程序设计概述
Java是一个完整的平台,拥有庞大的库其中包含了很多重用的代码,也提供了安全的、跨操作系统的可移植性以及垃圾回收机制等服务的执行环境。Java语法类似C++的“纯净”版,没有头文件、指针运算、结构、联合、操作符重载、虚基类等。Java与C++最主要区别是在于多重继承,Java采用的指针模型可以消除重写内存和损坏数据的可能性。Java的安全性适用于网络/分布式环境,可以防范:1.运行时堆栈溢出。原创 2017-12-14 15:33:37 · 215 阅读 · 0 评论 -
第二章 Java程序设计环境
安装JDK时最好不要接受路径名带空格的默认位置。安装JDK配置环境变量。原创 2017-12-14 17:38:49 · 177 阅读 · 0 评论 -
Java中数值类型之间的转换
转载来源:http://blog.csdn.net/goskalrie/article/details/50698004Java中数值类型之间的转换方式有两种:一是自动转换,另一种是强制类型转换。自动转换是程序在执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。1、自动数据类型转载 2017-12-15 11:07:40 · 377 阅读 · 0 评论 -
Java位运算
原文转载:http://blog.csdn.net/javazejian/article/details/51181320下面是本篇要记录的内容一、 相关基础概念在开始java位运算的知识之前,我们先来了解几个基础的概念,机器数,真值,原码,反码,补码。1.机器数我们知道无论是代码还是数值,在计算机中最后都转换成以二进制的形式存在的,而一转载 2017-12-15 15:01:14 · 200 阅读 · 0 评论 -
Java位运算理解和应用
原文转载:http://blog.csdn.net/goskalrie/article/details/52796360前言日常开发中位运算不是很常用,但是巧妙的使用位运算可以大量减少运行开销,优化算法。举个例子,翻转操作比较常见,比如初始值为1,操作一次变为0,再操作一次变为1。可能的做法是使用三木运算符,判断原始值为1还是0,如果是1,设置为0,否则设置为0.但是使用位运算,不转载 2017-12-15 15:05:09 · 197 阅读 · 0 评论 -
第三章 Java基本程序设计结构(2)
任何一个Java对象都可以转换成字符串,String类对象成为不可变字符串,检测一个字符串既不是NULL也不是空串原创 2017-12-18 15:55:28 · 154 阅读 · 0 评论