
JavaSE
文章平均质量分 51
记录自己学习Java的历程,分享自己的点点滴滴~
我只会javase
这个人很神秘,什么都没写
展开
-
获取class实例的四种方式及类的加载方式
Java中获取Class实例的四种方式原创 2022-02-09 15:57:06 · 475 阅读 · 0 评论 -
Java碎碎念之Java比较器(comparable接口与comparator接口)
Java比较器的Comparable和Comparator的比较原创 2022-01-23 22:40:33 · 434 阅读 · 0 评论 -
Javase碎碎念之自动装箱、拆箱装箱中的缓存区以及同String类之间的转换
自动装箱和拆箱的概念:指的是将基本数据类型和包装类之间进行自动的相互转换在这里插入代码片package Demo;public class Demo07 { public static void main(String[] args) { Integer a = 10;// 自动装箱,相当于自动调用了下面的方法 Integer b = Integer.valueOf(10); System.out.println(a); System.out.println(b); // ---原创 2020-05-19 18:00:19 · 142 阅读 · 0 评论 -
并发协作模型之生产者与消费者模式
**关于线程通信中的生产者与消费者的两种模型:管程模式与信号灯模式 **1)管程模式所谓管程模式,就是利用缓冲容器来储存生产者所生产的产品.a:生产者:负责生产数据的模块(这里模块可能是:方法,对象,线程,进程);b:消费者:负责处理数据的模块(这里模块可能是:方法,对象,线程,进程);c:缓冲区:消费者不能直接使用生产者的数据.他们中间有个缓冲区,生产者将生产好的数据放入缓冲区,消费者从缓冲区拿要处理的数据.关键词 :线程通信关键字和方法:Synchronized wait() notify原创 2020-05-29 13:23:08 · 205 阅读 · 0 评论 -
Java碎碎念之枚举类(Enum)
枚举类的概念:类的对象只有有限个、确定的。如:星期、性别、季节。当需要定义一组常量的时候,强烈建议使用枚举类.枚举类的实现:jdk1.5之前需要自定义枚举类,jdk1.5之后新增的enum关键字用于定义枚举类.如枚举只有一个对象,则可以作为一种单例模式的实现方式.枚举类的属性:a)枚举类对象的属性不应允许被改动,所以应该使用private final修饰.(final属性应被初始化,默认值不行.)b)枚举类的使用private修饰的属性应该在构造器中为其赋值.c)若枚举类显示的定义了原创 2020-09-05 15:06:03 · 163 阅读 · 0 评论 -
Java碎碎念之单例模式
所谓类的单例设计模式,就是采取一定的方法保证整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得该对象实例的方法.如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样就不能再new操作符在类的外部产生类的对象了,但是在类的内部仍然可以可以产生类的对象.因为在类的外部开始还无法得到类的对象,只能调用该类的某个静态方法以返回类内部创建的对象,静态方法只能访问类中的静态成员变量.所以,指向类内部产生的该类对象的变量也必须定义成静态的.一、饿原创 2020-07-18 20:57:13 · 121 阅读 · 0 评论 -
Java碎碎念之异常处理
我们通常所说的异常处理是广义的.在实际的异常定义中包括两大类:Error:java虚拟机无法解决的严重问题.如:JVM系统内部错误、资源耗尽等严重严重情况。比如StackOverflowError(栈溢出)和OOM(堆溢出).Exception:其他因编程错误或者偶然的外在因素导致的一般性问题,可以使用具有针对性的代码进行处理.例如:√空指针异常√视图读取不存在的文档√网络连接中断√数组角标越界NullPointException(空指针异常)代码展示:package exceptio原创 2020-08-04 13:01:37 · 147 阅读 · 0 评论 -
Java碎碎念之static、final、abstract关键字
一、static关键字1、static关键字概述:当我们编写一个类的时候,其实就是在描述对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字的时候才会产生出对象,这是系统才会分配内存空间给对象,其方法才可以供外部调用.我们有时候希望无论对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都只有一个国家名称,每一个中国人都共享这个国家名称,不必再每一个中国人的实例中都单独分配一个用于代表国家名称的变量.2、static关键字的使用2.1static,静态的原创 2020-07-20 11:22:10 · 189 阅读 · 0 评论 -
Java碎碎念之“==“与equals的区别以及重写toString方法
一,"=="运算符的使用代码:1,可以使用在基本数据类型变量和引用数据类型变量中2,如果比较的是基本数据类型变量,比较两个变量保存的数值是否相等.(不一定要类型相同,因为可以自动类型提升).3,如果比较的是引用数据类型变量,比较两个对象的地址值是否相同,即两个引用是否指向同一个对象实体.package Demo2;/** * @author TR * @date 2020/7/16 - 上午 11:15 * @describe: 测试"==" */public class Demo原创 2020-07-16 20:15:51 · 168 阅读 · 0 评论 -
Java碎碎念之注解(Annotation)
注解(Annotation)**注解入门**内置注解**自定义注解,元注解一,注解入门a)Annotation是从JDK5.0开始引入的新技术(与注释comment不同)b)Annotation的作用–不是程序本身,可以对程序作出解释(这点与注释类似)–可以被其他程序(比如编译器)读取.(注解处理信息流程 是注解和注释的重大区别.如果没有注解信息处理流程,则注解毫无意义)c)Annotation的格式–注解是以"@注释名"在代码中存在的,还可以添加一些参数值,eg. @SuppressW原创 2020-06-02 15:09:00 · 160 阅读 · 0 评论 -
Java碎碎念之变量的传值机制与递归
一,方法参数的值传递机制形参,实参的概念不在赘述.Java中的方法的参数传递方式只有一种:值传递.即将实际参数的副本(复制品)传入方法内,而参数本身不受影响.>形参是基本数据类型:将实参基本数据类型变量的"数据值"传递给形参>形参是引用数据类型,将实参引用数据类型变量的"地址值"传递给形参....原创 2020-07-10 15:32:22 · 204 阅读 · 0 评论 -
Java碎碎念之常用类(除String)
一、时间类1)Java.lang.System类System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差.->此方法适用于计算时间差计算世界时间的主要标准有:1、UTC2、GMT3、CST2)Java.util.Date表示特定的瞬间,精确到毫秒构造器:>Date():使用无参构造器创建对象可以获取本地当地时间>Date(long date)原创 2020-08-17 14:46:47 · 214 阅读 · 0 评论 -
5.1常见函数之分组函数(基础)
常见函数之分组函数/功能:用作统计和使用,又成为聚合函数或统计函数或组函数/1)分类:sum:求和 avg:平均值 max:最大值 min:最小值 count:计算个数特点a):sum AVG一般用于处理数值型amx min count可以处理任何类型b)以上分组函数都忽略null值2)与distinct搭配实现去重的运算SELECT COUNT(DISTINCT salary) 工资FROM employees;3)count函数的详细介绍a)count(字段),统计每一行原创 2020-05-29 17:39:25 · 372 阅读 · 0 评论 -
Java碎碎念之:JVM核心机制_类加载的全过程_JVM内存分析反射机制原理_常量池的理解
前言:大家都知道,在我们启动Java程序的时候包括以下几步:编写:是指在 Java 开发环境中进行程序代码的输入,最终形成后缀名为 .java 的 Java 源文件。编译:是指使用 Java 编译器对源文件调用javac来进行错误排査的过程,编译后将生成后缀名为 .class 的字节码文件运行:是指使用 Java 解释器将字节码文件翻译成机器代码,执行并显示结果。类加载的全过程:1)加载:将class文件字节码(可以是文件里,也可以是网络中来的,本质就是一个字节数组)类容加载到内存中,并将这些静态原创 2020-05-30 17:38:30 · 133 阅读 · 0 评论 -
Java碎碎念之类加载的时机
1)类的主动引用(一定会发生类的初始化)-new一个类的对象-调用类的静态成员(除了finall)和静态方法-使用Java.lang.reflect包的方法对类进行反射调用-当虚拟机启动,Java Hello,则一定会初始化Hello类,就是先启动main方法所在的类-当初始化一个类,如果父类没有被初始化,则一定会初始化他的父类2)类的被动引用(不会发生类的初始化)-当访问一个静态域时,只有真正声明这个域的类才会被初始化*通过子类引用父类的静态常量,不会导致子类初始化-通过数组定义类引用,原创 2020-05-31 17:46:30 · 110 阅读 · 0 评论 -
详谈Java构造器
学习Java有一段时间了,在摸索了csdn一段时间后,我决定开始写自己的博客,一方面为了总结自己所学的知识,另一方面也希望能帮助到有需要的人,下面是我对Java中构造器比较详细的总结(部分文字来源于视频)初学Java时,总觉得自己对Java中的构造器十分的不理解(当然现在也不能说是完全掌握),后来通过后面的学习,慢慢的揭开了构造器的神秘面纱(当然现在也正在揭开的路上)....原创 2020-04-30 22:30:32 · 281 阅读 · 0 评论 -
4.2补充:条件函数case函数的使用方法
补充:条件函数case函数的使用方法1)if()条件函数:判断一个字段是否符合某个条件语法:if(条件一,‘对满足条件的描述’,‘对不满足条件的描述’);2)case():和Java中的switch case 的效果类似;对比来学习:在Java中:(Java代码块).package Demo;public class Demo03 { public static void main(String[] args) { int month = (int) (12 * Math.random(原创 2020-05-18 18:08:17 · 640 阅读 · 0 评论 -
Java碎碎念之反射
Java的动态性之:反射机制reflection**反射机制**动态编译**动态执行js代码**动态字节码操作一:什么是动态语言-程序运行时,可以改变程序结构或者变量类型.典型的动态语言:Pathon,ruby,js-C,C++,JAVA不是动态语言,但是Java有一定的动态性.我们可以利用反射机制,字节码操作获得类似动态语言的特性-JAVA的动态性让编程的时候更加灵活!二,反射1)指的是可以与运行时加载,探知,使用编译期间完全未知的类2)程序在运行状态中,可以动态加载一个只有名称原创 2020-06-06 16:27:55 · 134 阅读 · 0 评论 -
Java碎碎念之向上,向下转型(instance of关键字)
在学习基本数据类型的时候,我们知道,容量小的可以自动转成容量小的基本数据类型,转型方向遵循:基本数据类型数值型整数类型(byte, short, int, long)浮点类型(float, double)字符型(char)布尔型(boolean)引用数据类型类(class)接口(interface)数组向上转型: 类型转换关系为: byte/char/short -> int -> long -> float -> double如果是做运算:容量小与容量原创 2020-07-15 17:45:42 · 209 阅读 · 1 评论 -
Java碎碎念之详谈this关键字
this关键字的使用:1.this可以用来修饰,调用:属性,方法,构造器2.修饰属性和方法:this可以理解为当前对象或者当前正在创建的对象2.1在类的方法中,我们可以使用"this.属性"或者"this.方法"的方式,调用当前属性或方法.但是通常情况下,我们都会省略"this.".特殊情况下,如果方法的形参和类的属性同名,我们必须显示的使用"this.变量"的方式,表名此变量是属性而非形参.3.this调用构造器3.1.我们在调用构造器中,可以显示的使用"this(形参列表)“方式,调用本类中原创 2020-07-11 20:16:20 · 124 阅读 · 0 评论 -
Java碎碎念之浅谈多态
大家都知道,面向对象的三大特征为:继承,封装,多态其中多态较为抽象,以下是我第二次学习javase时的总结(望采纳):1,理解多态性:可以理解为一个事物的多种形态.2,何为多态性:对象的多态性:父类引用指向子类对象(或者子类的对象赋给父类引用)3,多态的使用,虚拟方法的调用有了对象的多态性以后,我们在编译期间,只能调用父类中声明的方法,但是在运行期间,我们实际执行的则是子类中重写父类的方法.总结:编译看左边,运行看右边4,多态性的使用前提:>类的继承关系>方法的重写废话少说,原创 2020-07-14 18:18:35 · 131 阅读 · 0 评论 -
(Javase碎碎念1)线程创建的四种方式以及前两种的优缺点
关于线程的创建本来准备写的稍微全一点,查阅相关资料发现线程的创建竟然有四种方式(以前只知道三种)分别为(本篇博客主要讨论前两种方式):一,继承thread类二,实现runnable接口三,使用callable和future四,使用线程池如用executor框架(本条由于涉及到框架本人不了解,所以就不讨论)一,继承thread类1)定义thread类的子类,重写run方法,run方法里面的逻辑代码就是线程需要完成的任务.2)创建thread子类的实例,为线程创建对象3)调用线程的start方法原创 2020-05-14 16:21:52 · 374 阅读 · 0 评论 -
Java碎碎念之最全String类总结
谈及string类相信大家在学习javase之后已经见过很多了,那么你真的了解它吗,让我带领大家再次重温String类,感受编程的魅力!一:字符串是常量相信很多小爱你伙伴有疑问了,怎么会是常量呢?你看嘛package Demo;public class Demo10 { public static void main(String[] args) { String s = "我是常量"; System.out.p原创 2020-05-21 15:08:54 · 170 阅读 · 0 评论 -
Java碎碎念之多线程
一、基本概念 程序(program) :是为了完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process):是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有他自身的产生、存在和消亡的过程。—生命周期>如:运行中的qq…>程序是静态的,进程是动态的>进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域. 线程(thread) :进程可以进一步细分为线程,是一个程序内部的一条执行路径.>如果一个进程同原创 2020-08-08 12:52:32 · 318 阅读 · 0 评论 -
Java碎碎念之包含反射的工厂模式
工厂模式是比较常用的设计模式,由于本人还没学习过设计模式,对其描述可能有不妥之处一,用if else实现简单工厂模式package com.clazz;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.InputStream;import java.io.InputStreamReader;/** * @author TR * @date 2020/6/9 - 下午 12:29 *原创 2020-06-09 16:12:37 · 121 阅读 · 0 评论 -
Javase碎碎念之线程的安全性--synchronized 以及其它常用的块
线程的安全,在线程的安全性问题中synchronized关键字很重要,本篇文章主要讲解一下synchronized在线程锁中的简单应用.先来看下面一段代码package com.qftest;/** * 在线取钱系统 * * @author 24526 * */public class Demo1 { public static void main(String[] args) { quqian acc = new quqian(10010, "123456", 2000d);原创 2020-05-20 15:40:57 · 98 阅读 · 0 评论