自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mysql切换版本

环境变量,改到新版本的bin目录 win+R打开regedit,找到mysql改image路径 net stop mysql停止当前版本服务 net start mysql开启新版本服务

2022-02-21 10:06:51 732

原创 八. (《Java核心技术》读书笔记+重点整理系列)泛型写法和底层实现

目录泛型作用泛型写法泛型类泛型方法通配符 泛型作用 为了代码可以被不同类型的对象所重用。在泛型出现以前,类似的功能借助Object类来实现,使用的时候使用强制类型转换调用。比如ArrayList类: public class ArrayList{ Object[] elementData; ... public Object get(int i){} public void add(Object o){} } public static void main(String[] args) { Str

2021-10-13 17:29:24 190

原创 七. (《Java核心技术》读书笔记+重点整理系列)异常处理、断言和日志

异常分类 #mermaid-svg-IagVIreowrhHgvzP .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-IagVIreowrhHgvzP .label text{fill:#333}#mermaid-svg-IagVIreowrhHgvzP .node rect,#mermaid-svg-Iag.

2021-10-08 17:35:00 118

原创 Java中的lambda表达式以及方法引用

在Java中,很多时候需要对一块代码进行传递。在JDK8版本以前,只能使用将代码块写入类中,使用的时候将类实例化对象作为参数传入。例如比较器的写法 public class comparator implements Comparator<String>{ public int compare(String a, String b) { return a.length() - b.length(); } public static void main(String[] args)

2020-07-11 09:58:50 267

原创 软件构造的设计模式

----创建型模式---- 简单工厂模式 当有一组相似的类同时存在,为了简化客户端,让客户只关心所获得的对象而不用去关系具体 的创建过程。通过使用工厂类,用户可以通过工厂类的静态方法,使用不同的参数即可创建出具体类,所以简单工厂模式又称为静态方法模式。 将这种相似的类看作是同类商品下的不同具体产品,将该类产品的应该具有的所有方法构造成一个类,其余所有具体产品为该类的子类。创建工厂类,设计一个静态方法根据输入参数的不同,返回不同的子类对象。 工厂方法模式 在简单工厂模式中,一旦需要生产新产品就需要修改工厂类的

2020-07-09 17:05:27 177

原创 Java锁机制及死锁现象

Java锁 Java为了维护线程安全提供了关键字synchronized,可以用两种方式设计锁 public class MyThread implements Runnable{ Integer n = 3; @Override public void run() { synchronized (n) { n--; System.out.println(n); } } public static

2020-07-05 20:34:33 161

原创 多线程竞争以及Java线程安全

原子操作 原子操作是指不会被线程调度机制打断的最小操作单位。比如有一行代码 a += 1; 将变量a的值加1,这条语句的执行将会被分成3个原子操作 从变量a的存储空间中取出a原本的值 计算a原本的值加1后的值 将计算结果写回a的存储空间 竞争 由于多线程通过时间分片来达到线程间的并发效果,而时间分片是由操作系统或是JVM自动调度,不受程序编写者控制,在多线程执行时就会出现意料之外的结果。比如 public class MyThread implements Runnable{ public int

2020-07-05 10:45:12 128

原创 Java线程基本操作以及线程同步控制

休眠线程 Thread.sleep(毫秒数)是Thread类中静态方法,用于休眠当前进程。Java线程中有两个延迟方法,其一为sleep,另外的是wait方法。wait方法是对于Object使用的,要求必须位于对Object锁的代码块中。两者的不同在于,sleep不会释放锁,不会归还所占用的资源。而wait会释放锁,等待其他线程调用Object.notify()方法后,继续竞争变量使用权。 中断线程 Thread.interrupt()方法,在其他线程中向实例化对象发出中断信号。需要注意的是,当线程接收到中

2020-07-05 09:04:43 218

原创 Java并发及基本多线程实现

并发 并行与并发是两个相似却又不同的概念,并行指的是多个事件在同一时刻发生,而并发指的是多个事件在同一时间间隔发生。时刻与时间间隔的差距在于,以单CPU为例,每一个时间点只能有一个任务占用CPU资源,但通过分时地交替执行多个任务,由于交替的频率非常之快,制造了多个任务同时进行的“假象”,这就是并发。而并行是指,多个任务每个任务各自占用一个CPU资源,是真正意义上的同时执行。 并发由进一步分为了线程和进程两种不同类型,区别在于每一个进程,操作系统都会为它分配独立的私有空间。而线程则是在一个进程下,共享一个运行

2020-07-04 20:36:29 123

原创 lambda表达式,函数式接口及方法引用相关介绍

lambda表达式是Java8提出的新特性,表示一个可传递的代码块(函数) lambda表达式 //借助比较器类实现Arrays.sort public class normal { public static void main(String[] args) { String[] array = {"abc", "d", "ef"}; Arrays.sort(array, new Le...

2020-04-20 23:31:03 108

原创 Object类及其常用方法简介

Object——所有类的父类 java是典型的面向对象的编程语言,在java中除了基本数据类型,其他所有的数据都以对象的形式组织,包括基本类型或对象的数组。 如果没有extends指出父类,则默认用Object作为父类,实际上所有类的最祖先类都为Object equals方法 public boolean equals(Object obj) { return (this ==...

2020-04-16 08:44:13 896

空空如也

空空如也

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

TA关注的人

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