自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 收藏
  • 关注

原创 2021.11.30,内容:题目

public class Test {public static void main(String [] args){System.out.println(new B().getValue());}static class A{protected int value;public A(int v) {setValue(v);}public void setValue(int value){this.value = value;}public int getValue(){try{

2021-11-30 22:49:17 502

原创 2021.11.29,内容:字节码。

之所以被称之为字节码,是因为字节码文件由十六进制值组成,而 JVM 以两个十六进制值为一组,即以字节为单位进行读取。在 Java 中一般是用 javac 命令编译源代码为字节码文件,一个.java 文件从编译到运行的示例如下图所示。图1 Java运行示意图对于开发人员,了解字节码可以更准确、直观地理解 Java 语言中更深层次的东西,比如通过字节码,可以很直观地看到 Volatile 关键字如何在字节码上生效。另外,字节码增强技术在 Spring AOP、各种 ORM 框架、热部署中的应用屡见不鲜,深入

2021-11-29 22:24:54 89

原创 2021.11.28,内容:switch

switch可以看作是一种选择语句。它的作用是根据表达式的值,从一系列代码中选择一段去执行。其格式如下:switch(selector){case value1:statement; break;case value2:statement; break;case value3:statement; break;default:statement;}其中selector指的是一个参数,或是一个表达式,或是一个方法。...

2021-11-28 22:27:09 153

原创 2021.11.28,内容:执行效率

执行效率关乎程序好坏,执行效率好的程序运行效率快,那么String、StringBuffer、 StringBuilder那个最快呢。在这三者中 String执行效率是最慢的,StringBuffer执行效率差别不大,但是StringBuilder最快但是StringBuilder是非线性安全。比较: StringBuilder > StringBuffer > String总结:1.如果操作少量数据 —用String2.单线程操作字符串缓存区下操作数据—用StringBuilder

2021-11-28 00:08:48 167

原创 2021.11.26,内容:方法的重写

子类从父类继承的某个实例方法无法满足子类的功能需要时,需要在子类中对该实例方法进行重新实现,这样的过程称为重写,也叫做覆写、覆盖。方法重写的前提:继承,子类的修饰符大于等于父类,方法名、参数列表、返回值类型必须相同...

2021-11-27 10:14:50 145

原创 2021.11.25,内容:lnstanceof。

Instanceof关键字的作用是返回一个布尔值,告诉我们一个对象是不是某个特定类的一个实例。例如:if(x instanceof Dog){}即在判断x对象是不是Dog类的一个实例。Instanceof关键字是RTTI,动态类型判断技术的其中一种表现形式。关于RTTI的更多内容,请参考这篇博客:[java] 反射和多态实现原理详解以及对比....

2021-11-25 23:39:42 308

原创 2021.11.25 内容:修饰变量。

final顾名思义是最终的意思,他修饰变量意味着这个变量的值不能再更改。一个即是static又是final的常量会占据一段不能改变的内存空间。对于这样的常量,我们的命名规范是约定俗成的大写字母加下划线,如下:private static final int TEST_FINAL = 1;在修饰引用变量的时候,这个值是指的其引用不变,但引用的对象的内容是可变的。而在修饰基本变量如int时,则意味着这个基本类型的值不能改变。值得注意的是,final在修饰String类的对象时,其值和修饰基本变量类型是一样不

2021-11-25 00:02:08 262

原创 2021.11.23,内容:题目。

/**Created by zmt on 2016/12/22.*/public class Test {public static void main(String [] args){System.out.println(new B().getValue());}static class A{protected int value;public A(int v) {setValue(v);}public void setValue(int value){this.value =

2021-11-23 23:36:14 90

原创 2021.11.22,内容:泛型。

public class Table {}public class Room {}public class House {}public class Particle<POSITION, MOMENTUM> {}public class Main {public static void main(String[] args) {List tableList = new ArrayList();Map<Room, Table> maps = new HashMap

2021-11-22 22:54:08 58

原创 2021.11.21,内容:创建线程的方式

继承Thread类实现Runnable接口实现Callable接口( JDK1.5>= )线程池方式创建采用继承Thread类的方式创建线程的优缺点Thread代码解析:Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法(单独执行run方法不会创建新线程,只会在当前线程执行run方法)。...

2021-11-21 23:20:52 187

原创 2021.11.20,内容:结束程序。

1. main方法返回2. 异常交给虚拟机处理异常包含了“异常名称,异常出错的数值,异常发生的代码位置”,程序的调用堆栈信息…如此多的信息,程序将这些信息封装成了一个“异常”对象,将该异常对象抛回给调用者。手动抛出异常格式:throw new 异常对象(…);运行时异常的处理方案:1. 不处理,异常最终会抛给虚拟机,程序提前终止2. 捕获处理 try-catch合并唯一:如RuntimeException或者统一Exception开发中常用后者。

2021-11-20 21:54:15 590

原创 2021.11.19,内容:对数据进行变换。

int a = 3,b = 5;–>b = 3,a = 5; a = a + b; a = 8; b = a - b; b = 3; a = a - b; a = 5; a = a ^ b;// b = a ^ b;//b = a ^ b ^ b = a a = a ^ b;//a = a ^ b

2021-11-19 23:20:16 164

原创 2021.11.18,内容:水仙花。

package com.baidu.Demo;public class ForDemo {public static void main(String[] args) {int x,y,z,num=0;for(int i=1;i<999;i++){x=i/100;y=i/10%10;z=i%10;if(i==(xxx)+(yyy)+(zzz)) {System.out.println(+i);}}}}

2021-11-18 22:26:03 151

原创 2021.11.17,内容:资源池。

资源池不仅仅是在java当中存在的概念,在软件世界里也是广泛应用的一个东西。我们非常常见的资源池有:数据库连接池web容器中的线程池web容器中的request,response对象池使用资源池的原因和好处大致是相似的。无外乎创建关闭维护每一个资源是比较耗费成本的。因此我们可以维护一定数量的资源,来寻求一个效率上的平衡。资源池引入的目的:提高性能资源池运作机制:由资源池管理器提供一定数目的目标资源,当有请求该资源时,资源池分配给一个,然后给该资源标识为忙,   

2021-11-17 23:29:05 146

原创 2021.11.16,内容:多态的引入

定义:父类的引用指向子类的对象;多态的第一种使用场景:方法的参数设计上,如果设计一个方法,尽量将方法的参数设计为“父类类型”,因为父类类型的参数可以接收所有其“子类对象”。多态的第二种使用场景:创建子类对象,使用父类引用接收,提升代码的维护性。程序中为何使用向下转型:为了使用子类的特有的“属性和行为”。Instanceof实例对象类型判断。...

2021-11-16 23:19:28 46

原创 2021.11.15,内容:new关键字的作用。

a. 在堆区开辟空间b. 给开辟空间的属性进行默认初始化c. 返回堆区开辟空间的首地址对于重写Object中的方法a. 重写equals目的:自定义子类对象的判断规则。b. 重写toString目的:自定义对象的输出数据补充:对象都应该根据判断数据内容来判断,为什么Object类不知道这么一个简单的原理呢?Object类根本不知道子类的具体数据,无法做出数据的判断...

2021-11-15 22:12:01 62

原创 2021.11.14,内容:多态的引入。

定义:父类的引用指向子类的对象;多态的第一种使用场景:方法的参数设计上,如果设计一个方法,尽量将方法的参数设计为“父类类型”,因为父类类型的参数可以接收所有其“子类对象”。多态的第二种使用场景:创建子类对象,使用父类引用接收,提升代码的维护性。程序中为何使用向下转型:为了使用子类的特有的“属性和行为”。Instanceof实例对象类型判断。final关键字:final最终化,不可再次更改的含义。final修饰方法的作用:允许子类使用,但是不允许子类重写Final修饰类:被final修饰的类不

2021-11-14 22:09:45 195

原创 2021.11.13,内容:抽象类。

(1). 可以定义抽象方法(2) 也可以定义非抽象方法(拥有方法体的方法)(3). 当然也可以定义属性(4) 抽象类也是类,所有也拥有构造方法描述:1). 没有方法体的方法必须定义为“抽象方法”。抽象方法使用abstract关键字修饰2). 拥有抽象方法的类,必须被定义“抽象类”3). 不能实例化抽象类的对象4). 子类要new对象的话,那就必须实现父类的所有抽象方法5). 抽象创建对象?抽象类中的抽象方法,缺少方法体,

2021-11-13 23:20:32 359

原创 2021.11.12,内容:内部类引入

特点:(1). 在成员内部类中可以访问外部类的所有成员(人与心脏)(2). 成员内部类中的方法也可以调用外部类的方法(3). 成员内部类中不可以声明静态变量,静态方法。因为成员变量是属于对象的,静态与对象无关。(4). 外部类中可以用内部类声明成员属性,作为外部类的成员。也可以在方法中创建内部类对象,调用内部类的方法。成员内部类,会随着对象的创建而加载。静态内部类:会随着外部类的加载而加载...

2021-11-12 22:49:52 72

原创 2021.11.11,内容:intero方法。

jdk6中:将这个字符串常量池尝试放入字符串常量池。如果常量池中有,则不会方法。返回已有的常量池中对象的地址;如果没有,会把此对象复制一份,放入串池,并返回串池中的对象地址;jdk7中:将这个字符串常量池尝试放入字符串常量池。如果常量池中有,并不会放入。返回已有的常量池中的对象的地址;如果没有,会把对象的引用地址复制一份,放入常量池,并返回常量池中的引用地址;...

2021-11-11 22:41:56 536

原创 2021.11.10,内容:CustomerView客户列表功能的实现。

package com.charles.p1.ui;import com.charles.p1.bean.Customer;import com.charles.p1.service.CustomerList;import com.charles.p1.util.CMUtility;/** * * @Description CustomerView为主模块,负责菜单的显示和处理用户操作 * @author Charles * @version * @date 2021年10月21日.

2021-11-10 23:01:05 151

原创 2021.11.9,内容:map接口

通过查看Map接口描述,看到Map有多个子类,这里我们主要讲解常用的HashMap集合、LinkedHashMap集合。HashMap<K,V>:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。LinkedHashMap<K,V>:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯

2021-11-09 23:21:46 224

原创 2021.11.8,内容:阻塞

阻塞的情况分三种: (一). 等待阻塞:运行(running)的线程执行o.wait()方法,JVM会把该线程放 入等待队列(waitting queue)中。 (二). 同步阻塞:运行(runnin

2021-11-08 21:51:10 38

原创 2021.11.7,内容:位运算符

Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。位运算符作用在所有的位上,并且按位运算。假设a = 60,b = 13;它们的二进制格式表示将如下A = 0011 1100B = 0000 1101A&b = 0000 1100A | B = 0011 1101A ^ B = 0011 0001~A= 1100 0011整数变量A的值为60和变量B的值为13...

2021-11-07 22:24:36 50

原创 2021.11.6,内容:缓冲区

昨天学习了基本的一些流,作为IO流的入门,今天我们要见识一些更强大的流。比如能够高效读写的缓冲流,能够转换编码的转换流,能够持久化存储对象的序列化流等等。这些功能更为强大的流,都是在基本的流对象基础之上创建而来的,就像穿上铠甲的武士一样,相当于是对基本流对象的一种增强。...

2021-11-06 23:26:17 46

原创 2021.11.5,内容:java抽象类的例子

abstract class Bank {abstract int getRateOfInterest();}class SBI extends Bank {int getRateOfInterest() {return 7;}}class PNB extends Bank {int getRateOfInterest() {return 8;}}class TestBank {public static void main(String args[]) {Bank b;b

2021-11-05 22:24:00 56

原创 2021.11.4,内容:switch语句

package basic;public class TestSwitch {public enum Color { RED, GREEN, BLANK, YELLOW }public void testSwitch(){String s= “0”;switch(s){case “0”:; break;case “1”:; break;case “2”:; break;default:;} switch(Color.GREEN){ case RED:

2021-11-04 20:50:19 64

原创 2021.11.3,内容:查表法进制转换

//查表法进制转换public static void toHex_1(int num){ if(num==0){ System.out.println("0"); return; } //对应关系表 char[] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; char[] arr = new char[8]; int pos = arr.length; while(num!=0){ int temp

2021-11-03 22:39:01 73

原创 2021.11.2,内容:java创建对象的途径

采用new(对象实例在堆内存中),对象引用指向对象实例(对象引用存放在栈内存中)通过反射采用clone通过序列化机制前2者都需要显式地调用构造方法。造成耦合性最高的恰好是第一种,因此你发现无论什么框架,只要涉及到解耦必先减少new的使用。...

2021-11-02 22:41:19 65

原创 2021.11.1,内容:io

package JAVAIO1;import java.io.File;//路径//File文件对象创建public class TextPath { public static void main(String[] args) { String path="E:/java语言/java语言(新)/跟着哔哩哔哩学习2/src/JAVAIO1/SS.jpg"; System.out.println(File.separatorChar);// \ 用于动态拼接路径 //构建F

2021-11-01 22:21:37 69

原创 2021.10.31,内容:读取字符串

import java.io.*;public class BRReadLines { public static void main(String args[]) throws IOException { // 使用 System.in 创建 BufferedReader BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str;

2021-10-31 23:53:46 55

原创 2021.10.30,内容:soa五个特征

1、可重用一个服务创建后能用于多个应用和业务流程。2、松耦合服务请求者到服务提供者的绑定与服务之间应该是松耦合的。因此,服务请求者不需要知道服务提供者实现的技术细节,例如程序语言、底层平台等等。3、明确定义的接口服务交互必须是明确定义的。Web服务描述语言(Web Services Description Language,WSDL)是用于描述服务请求者所要求的绑定到服务提供者的细节。WSDL不包括服务实现的任何技术细节。服务请求者不知道也不关心服务究竟是由哪种程序设计语言编写的。4、无状态的服

2021-10-30 22:25:28 94

原创 2021.10.29,内容:什么时候用接口和抽象类

抽象类的关键好处在于 能够实现面向对象设计的一个最核心的原则OCP(Open-ClosedPrinciple)。因此当我有一部分内容是不想让子类修改的,但是子类又都通用,同时各个自乐又有自己的特点,那么就适合使用抽象类。在面向对象领域,抽象类主要用来进行类型隐藏。 我们可以构造出一个固定的一组行为的抽象描 述,但是这组行为却能够有任意个可能的具体实现方式。这个抽象描述就是抽象类,而这一组任意个可能的具体实现则表现为所有可能的派生类。模块可以操作一个 抽象体。由于模块依赖于一个固定的抽象体,因此它可以是不允

2021-10-29 22:20:48 36

原创 2021.10.28,内容:内存的划分

寄存器本地方法区方法区栈内存(存储的都是局部变量,变量所属作用域结束,变量自动释放)堆内存[存储的是数组和对象(数组就是对象)凡是new建立在堆中,每一个实体都是首地址值;堆内存中的每一个变量都有默认初始化值,根据类型不同而不同,整数是0,小数是0.0或者0.0f,boolean是false,char是’\u0000’;垃圾回收机制。]...

2021-10-28 22:30:24 48

原创 2021.10.27,内容:匿名类

public class A { A(int p) { System.out.println("带参构造子" + p); } A() { System.out.println("无参构造子"); } void method() { System.out.println("fromA"); } public static void main (String []args) { new A().method(); A z = new A(){ void meth

2021-10-27 23:32:31 45

原创 2021.10.26,内容:标准输入流

打印输出到“标准输出流”(即控制台窗口)是一件非常简单的事情。 在我们学习的java的第一个程序时,我们已经接触了标准输出流,并在控制台中输出了“Hello World!”。{System.out.println(“Hello World!”);}在这里,使用了System.out对象并调用了它的println方法并传递给他一个字符串参数(“hello world”)。println方法可以将传递给它的参数显示在控制台上。每次调用println都会在新的一行显示输出(如果想在输出后不换行,可以使

2021-10-26 22:04:44 36

原创 2021.10.25,内容:CustomerView退出功能

package com.charles.p1.ui;import com.charles.p1.service.CustomerList;import com.charles.p1.util.CMUtility;/** * * @Description CustomerView为主模块,负责菜单的显示和处理用户操作 * @author Charles * @version * @date 2021年10月21日下午13:26:40 * */public class Custom.

2021-10-25 15:00:21 76

原创 2021.10.24,内容:CustomerView的设计。

package com.charles.p1.ui;import com.charles.p1.service.CustomerList;import com.charles.p1.util.CMUtility;/** * * @Description CustomerView为主模块,负责菜单的显示和处理用户操作 * @author Charles * @version * @date 2021年10月21日下午13:26:40 * */public class Custom.

2021-10-24 18:52:31 92

原创 2021.10.23,内容:customerList的设计

package com.charles.p1.service;import com.charles.p1.bean.Customer;/** * * @Description CustomerList为Customer对象的管理模块, * 内部用数组管理一组Customer对象,并提供相应的添加、修改、删除和遍历方法, 供CustomerView调用 * @author Charles * @version * @date 2021年10月21日下午13:2.

2021-10-23 17:07:47 131

原创 2021.10.22,打印1到100素数

public static void main(String[] args) { int i=1; int j=2; int count=0; for(i=1;i<=100;i++){ for(j=2;j<i;j++){ if (i%j==0){ break; } } if(.

2021-10-22 22:16:04 44

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除