随笔分类 - java基础
摘要:前言 死锁单独写一篇文章是因为这是一个很严重的、必须要引起重视的问题。这不是夸大死锁的风险,尽管锁被持有的时间通常很短,但是作为商业产品的应用程序每天可能要执行数十亿次获取锁->释放锁的操作,只要在这数十亿次操作中只要有一次发生了错误,就可能导致程序中发生死锁,并且即使通过压力测试也不可能找出所有潜
阅读全文
摘要:同步静态方法 synchronized还可以应用在静态方法上,如果这么写,则代表的是对当前.java文件对应的Class类加锁。看一下例子,注意一下printC()并不是一个静态方法: public class ThreadDomain25 { public synchronized static
阅读全文
摘要:synchronized同步代码块 用关键字synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个较长时间的任务,那么B线程必须等待比较长的时间。这种情况下可以尝试使用synchronized同步语句块来解决问题。看一下例子: public class ThreadD
阅读全文
摘要:前言 1、理解同步关键词synchronized 2、同步方法与同步代码块的区别 3、理解锁的对象this 脏读 一个常见的概念。在多线程中,难免会出现在多个线程中对同一个对象的实例变量进行并发访问的情况,如果不做正确的同步处理,那么产生的后果就是"脏读",也就是取到的数据其实是被更改过的。 多线程
阅读全文
摘要:前言 在认识多线程(一)中,我们举过一个关于同步应用的例子。说的是生产者与消费者。我们知道了线程与线程之间是存在通信的。在这篇博文中,将详细介绍什么是生产者/消费者模型。 什么是生产者/消费者模型 一种重要的模型,基于等待/通知机制。生产者/消费者模型描述的是有一块缓冲区作为仓库,生产者可将产品放入
阅读全文
摘要:一、文档注释工具 1、利用java自带的工具创建注释文档API。 参看链接:https://blog.csdn.net/fanxiaobin577328725/article/details/52658781 二、注意事项 1、文档注释:javadoc只有public方法与protected会进行文
阅读全文
摘要:前言 使用异常所带来的一个相当明显的好处是,它往往能够降低错误处理代码的复杂度。如果不使用异常,那么就必须检査特定的错误,并在程序中的许多地方去处理它。而如果使用异 常,那就不必在方法调用处进行检査,因为异常机制将保证能够捕获这个错误。并且,只需在 —个地方处理错误,即所谓的异常处理程序中。这种方式
阅读全文
摘要:一、几种编码方式介绍 1、Unicode、UTF-8 和 ISO8859-1和乱码问题 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687"。注意,这两个字没有iso
阅读全文
摘要:一、什么是IO 1、定义 1.1 定义 Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它
阅读全文
摘要:一、类的加载 静态加载 直接在编写代码时new一个类的对象,要求该类是存在的,不然编写时就报错; 动态加载 通过类的反射机制,动态加载类的信息,并获得类的属性(类名,修饰符),类中的方法,属性等信息。在程序运行时,才加载该类,若该类不存在,会报异常。 二、反射 1、定义 JAVA反射机制是在运行状态
阅读全文
摘要:一、面向对象的编程 1、java的四大特点 1.1 封装:提高程序的安全性。 1.1.1 什么是封装 将属性私有化 ,所有的属性使用private进行修饰;编写public的取值,和赋值方法。(getter,setter方法) 对常用的方法进行封装为工具类,提高工作效率。 1.1.2 为什么要封装
阅读全文
摘要:一、什么是类 1、定义 是具有相同特征的对象的抽象,是泛指的。类可以创建对象,类中有方法。有属性。 2、组成 类是模板,是一个抽象的概念,通常是泛指。对象是具体的,特指的叫对象。有自己特定属性,有功能,能调用方法。万物皆对象。 二、类之间的关系 1、依赖关系:大多数情况下,依 赖关系体现在某个类的方
阅读全文
摘要:一、方法定义 1、是什么:一段小代码小程序, 》完成独立功能的小程序; 2、干什么:一个功能,能被多次调用,有静态与动态,存在于类中; 3、return:结束方法;方法只有定义没有使用,是不起任何作用的,只有在调用时才会被执行; 4、方法名称:字母,数字,下划线,$,不能以数字开头,不能是java
阅读全文
摘要:一、this 1、定义:this是一个关键字,存储了当前对象的内存地址。 this对象,用来访问本类自己的属性和方法。 构造器中,给属性set值。 2、使用本类的属性 ,this.属性名, this可以省略不写。 3、 调用本类的方法 this.方法名() ,this可以省略不写。 4、 调用本类的
阅读全文
摘要:一、命名 变量的命名规则1、可以包含 字母,数字,下划线,$ 2、不可以数字开头,不可以使用ava关键字。 变量的命名规范1、第一个单词首字母小写,第二个单词首字母大写 xingMing 2、String XM = ”张小美”; 在程序中可以运行,但不符合规范。 二、见名知意 1、类、方法、变量的命
阅读全文
摘要:一、集合(数组)排序 1、Comparable简介 Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。 此外,实现此接口的对象
阅读全文
摘要:为了打印我们想要的对象信息,而不是类名加哈希值。 定义对象,看重写前后的输出: package com.ruoyi.reserve.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndH
阅读全文
摘要:一、前言 我们都知道,要比较两个对象是否相等时需要调用对象的equals()方法,即判断对象引用所指向的对象地址是否相等,对象地址相等时,那么与对象相关的对象句柄、对象头、对象实例数据、对象类型数据等也是完全一致的,所以我们可以通过比较对象的地址来判断是否相等。 二、理解对象的存储 2.1Objec
阅读全文
摘要:前言 一 简介 1.1 概述 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射(K-V)。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接口。 Collection中的集合,元
阅读全文
摘要:一 java中的容器 1 容器(Container)定义 1.1 web容器 容器可以管理对象的生命周期、对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属
阅读全文

浙公网安备 33010602011771号