Java基础知识
文章平均质量分 86
编程搬运工
我不是生产者,只是记录学习的搬运工。
展开
-
@Transactional 之 Mysql 排他锁的正确用法(数据库脏写你不管?)
@Transactional原创 2023-04-05 11:37:03 · 953 阅读 · 1 评论 -
DecimalFormat(取舍问题,DecimalFormat四舍五入的坑)
舍入方式原创 2023-03-30 19:29:26 · 2257 阅读 · 0 评论 -
DecimalFormat(double转为String时数据过小或者过大自动转为科学计数法问题)
double转为String时数据过小或者过大自动转为科学计数法问题原创 2023-03-23 10:43:05 · 1282 阅读 · 0 评论 -
java 获取当前时间,将天数减一天,返回Date.
SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd");Date beginDate = new Date();Calendar date = Calendar.getInstance();date.setTime(beginDate);date.set(Calendar.DATE, date.get(Calendar.DATE) - 1);Date endDate = dft.parse(dft.format(date.getTime(原创 2020-08-18 11:32:32 · 2459 阅读 · 1 评论 -
super (Java关键字)
1.为什么要使用super关键字?1)子类中要访问父类方法或变量。 2) 子类中调用父类的构造器 2.使用注意事项:a. 只能在构造方法或实例方法内使用super关键字,在静态方法和静态代码块内不能使用super关键字。 b. 在子类构造方法中如没有使用this关键字,会隐式调用父类的无参构造方法; class Father() ...原创 2018-08-13 12:02:16 · 2150 阅读 · 0 评论 -
class文件运行过程
当源文件(.java文件)被编译成.class文件,且经过合法检测后,.class的运行过程如下: 依图中FirstStatic.class文件为例: 1)FirstStatic.class文件首先进入方法去,将.class文件中的静态的东西放入静态区属于类,只有一个),将非静态方法放入非静态区。 2)当主方法main中生成对象时,我们首先在堆里开辟一块区域用来放对象FirstStati...原创 2018-08-13 12:30:36 · 4992 阅读 · 0 评论 -
Enum 枚举
JDK1.5增加了枚举类型,可以使用enum来定义。例如: public enum Gender{ MALE,FEMALE; }其中每一个枚举元素都是该枚举类型的一个实例,并且默认是用public static final修饰的。※ 枚举类型和类的关系把Gender.class反编译后显示如下: public final cla...原创 2018-08-23 16:38:15 · 278 阅读 · 0 评论 -
Generics 泛型
※ 泛型的定义泛型是JDK 1.5的一项新特性,它的本质是参数化类型(Parameterized Type),也就是说所操作的数据类型被指定为一个参数,在用到的时候在指定具体的类型。 这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口和泛型方法。 泛型的类型将来传入是只能是引用类型的,不能是基本类型的。例如: //编译通过 ...原创 2018-08-23 16:54:52 · 113 阅读 · 0 评论 -
Operator 操作符
※ 操作符Operator一般情况下,不用去刻意记住操作符的优先级,当不能确定操作符的执行顺序时,可以使用圆括号来显示指定运算顺序。 1)赋值操作符: = : int x=0,i=1,j=1; *= : a*=b 等价于 a=a*b /= : a/=b 等价于 a=a/b; %= : a%=b 等价于 a=a%b; += -= ...2)比较...原创 2018-08-21 16:02:55 · 1256 阅读 · 0 评论 -
时间类(java.sql.Date & java.util.Date)
※ java.sql.Date类※ 构造方法摘要 Date(int year, int month, int day) 已过时。 使用构造方法 Date(long date) 替代 Date(long date) 使用给定毫秒时间值构造一个 Date 对象。※ 方法摘要 void setTime(long date) ...原创 2018-09-11 21:20:49 · 16744 阅读 · 0 评论 -
jdk安装配置环境变量
※ 配置环境变量申明一个临时的环境变量(只在单前打开的终端有效) export 变量名=变量值 环境变量的调用echo $变量名查看命令所处的位置which 命令关键字 e.g.: which ls - -> /bin/lsecho $PATH 查看单前系统的所有命令存放的位置 注意:操作的命令都是基于PATH找到的PS1=‘用户名’ 设置用户在终端...原创 2018-09-03 17:04:31 · 322 阅读 · 0 评论 -
以“|”分割字符串时的方法
由于“|”是特殊字符,所有需要转译,有两种方法1.String[] strs=str.split(“[|]”);2.String[] strs=str.split(“\|”);原创 2018-09-25 23:04:05 · 6301 阅读 · 1 评论 -
URI:统一资源标识符
URI(统一资源标识符)、URL(统一资源定位符)、URN(统一资源名称)从上面的那幅图可以看出来,一共有三个不同的概念URI,URL,URN。这讨论这样的问题时,最好的方法就是回到原点啊,这里我们在RFC 3986: Uniform Resource Identifier (URI): Generic Syntax里面收集了点资料:“A Uniform Resource Identi...原创 2018-11-01 19:48:02 · 3942 阅读 · 0 评论 -
面向对象编程的特点:封装、继承、多态
※ 数据隐藏这里说说的数据主要指的是类中的属性。 如何对属性进行隐藏呢? 在前面封装的属性前面用private修饰,表示该属性不能被其它类访问和修改,它只能被本类访问和修改,范围限制在本类内。java中封装有两个方面: 属性的封装; 方法的封装。※ 封装1)对属性的封装 首先属性可以被一下修饰符修饰: public protected “defa...原创 2018-08-13 11:55:37 · 267 阅读 · 0 评论 -
条件循环语句
※ 条件语句有些程序代码只有满足特定条件的情况下才会被执行,Java语言支持两种条件处理语句:if语句和switch语句 1)if … else if(boolean) 布尔表达式指的是能返回true或者false的运算式子: 1<2 1==1 1!=2 a. if后面的表达式必须是布尔表达式,而不能为数字类型,例如下面的if(x)是非法...原创 2018-08-13 10:29:34 · 627 阅读 · 0 评论 -
final 最终(Java关键字)
final 最终当在描述事物时,一些数据的出现值时固定的,那么这时为了增强阅读性,都给这些值起个名字,方便于阅读。 而这个值不需要改变,所以加上final修饰,作为常量(常量的书写规范为所有字母都大写,如果由多个单词组成,单词间用_来连接)。※ final具有”不可改变的”含义,它可以修饰非抽象类、非抽象成员方法和变量。 . 用final修饰的类不能被继承...原创 2018-08-10 11:06:38 · 1076 阅读 · 0 评论 -
abstract 抽象与interface 接口
abstract 抽象当多个类中出现相同功能(方法),但是功能主体不同。 这时可以进行向上抽取(建立父类),这时,只抽取功能定义,而不抽取功能主体。 其实就是子类重写父类的方法,只不过此时父类的方法是没有方法体的,定义为抽象方法,此时父类为抽象类。要求子类必须重写父类的抽象方法。不同子类实现父类的抽象方法又体现了多态。※ abstract修饰符 可以修饰类和成员方法 修饰的类叫抽象...原创 2018-08-10 17:00:56 · 159 阅读 · 0 评论 -
内部类
在一个类的内部定义的类称为内部类。内部类属于外部类。内部类分为: 成员内部类 静态内部类 局部内部类 匿名内部类顶层类(正常类)只能处于public和默认访问级别,而成员内部类可以处于public, protected, private和默认这4种访问级别;※ 内部类1. 静态内部类 (相对应类中的一个静态变量)是成员内部类的一种,用static修...原创 2018-08-12 14:58:47 · 236 阅读 · 0 评论 -
访问控制(Java修饰符)
面向对象的基本思想之一是封装实现细节并且公开方法。Java语言采用访问控制修饰符来控制类及类的方法和变量的访问。 权限,从而只向使用者暴露方法,但隐藏实现细节。访问控制分4种级别。 访问级别 访问控制修饰符 同类 同包 子类 子类不同包 不同的包 公开级别: public y y y y y 受保护: ...原创 2018-08-12 15:08:50 · 547 阅读 · 0 评论 -
“==” 和 equals()的区别
※ == :比较的是,值是不是相等 . 基本数据类型比较的是值 . 引用类型比较的是地址值和内容※ equals(Object o): Object类中的方法,所以,在每一个java类中,都会有这个方法,因为每一个java类都是直接或者间接的Object类的子类,会继承到这个方法。如果自己所写的类中已经重写了equals方法,那么就安装用户自定义的方式来比较俩个对象是否相等,如果没有重...原创 2018-08-12 15:14:27 · 7088 阅读 · 3 评论 -
数据类型
Java语言把数据类型分为基本类型和引用类型数据类型基本类型:byte short int long float double char boolean 引用类型:类类型 接口类型 数组类型 计算机中: 1字节=8位 0000 0001※ 整数类型byte, short, int和long都是整数类型,并且都是有符号整数。与有符号整数对应的是无符号整数,两...原创 2018-08-12 16:42:13 · 194 阅读 · 0 评论 -
Java代码中的各种元素
※ java代码中的注释作用:使部分内容只为程序员可见,不为编译器所编译、虚拟机所执行 位置:类声明前后、方法声明前后、属性声明前后、方法体中。几乎可以在一个源文件任意位置,但不能在一个关键字字符中插入注释 类型: 1)单行注释: //text ——从 // 到本行结束的所有字符均作为注释而被编译器忽略 2)多行注释: ...原创 2018-08-12 16:59:52 · 1312 阅读 · 0 评论 -
Java 面向对象语言
※ 理解对象面向对象的开发方法把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的对象能够组合成更复杂的子系统。面向对象的开发方法将软件系统看成各种对象的集合,接近人的自然思维方式。※ 对象是对问题领域中事件的抽象。对象具有以下特性: 1)万物皆为对象。问题领域中的实体和概念都可以抽象为对象。例如学生,成绩单、教师、课和教室。 2)每个对象都是惟一的。正如世界上不存在...原创 2018-08-12 17:07:40 · 1349 阅读 · 1 评论 -
变量
※ 变量※ java中变量的介绍 程序的基本功能是处理数据 程序用变量来接收并表示数据; 程序中必须先定义变量才能使用; 定义变量是指设定变量的数据类型和变量的名字,Java语言要求变量遵循先定义,再初始化,然后使用的规则。变量的使用有一个作用域的问题,作用域是指它的存在范围,只有在这个范围内,程序代码才能访问它。其次,作用域决定了变量的生命周期。变量的生命周...原创 2018-08-12 17:35:01 · 265 阅读 · 0 评论 -
Array [] 数组
※ Array 数组数组是指一组数据的集合,(容器)数组中的每个数据称为元素。在Java中,数组也是Java对象。数组中的元素可以是任意类型(包括基本类型和引 用类),但同一个数组里只能存放类型相同的元素。长度不可变,构建时会有默认值(JVM)创建数组大致包括如下步骤:. 声明一个数组类型的引用变量,简称为数组变量; . 用new语句构造数组的实例。new语句为数组分配内存,并且为数组...原创 2018-08-12 17:55:45 · 21719 阅读 · 1 评论 -
this 当前 (Java关键字)
在方法调用、参数传递过程中,极有可能出现参数名称与实例变量名同时的情况。在一个方法内,可以定义和成员变量同名的局部变量或参数,此时成员变量被屏蔽。作用1:区别成员变量和局部变量public class Student{ private String name; public void setName(String name){ this.name = nam...原创 2018-08-13 10:22:49 · 136 阅读 · 0 评论 -
static 静态(Java关键字)
静态 static静态:static 用法:是一个修饰符,用来修饰成员(成员变量,成员方法,代码块) 当成员被静态修饰后,就多了一个调用方式,除了对象调用后,还可以直接类名调用,例如 类名. 用static修饰的程序代码表示静态代码块,当Java虚似机加载类时,就会执行该代码块;static特点: 1.随着类的的加载而加载 也就是说静态会随着类的消失而消失,说明他的生命周期最...原创 2018-08-10 10:41:12 · 158 阅读 · 0 评论