Java
文章平均质量分 68
Java相关
诗竹白芍
先理解了复杂,才能构造简单
展开
-
【Java进阶】到底什么是抽象?
昨天和同事聊到Java抽象的这个概念,今天想深入理解以下什么是Java中的抽象。初识抽象理解抽象,首先我们得理解抽象这个词本身的概念,那么什么是抽象?抽象这个词本身就很抽象。在百度的解析是这么说的:抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。具体地说,抽象就是人们在实践的基础上,对于丰富的感性材料通过去粗取精、去伪存真、由此及彼、由表及里的加工制作,形成概念、判断、推理等思维形式,以反映事物的本质和规律的方法。...原创 2022-04-22 08:05:47 · 4322 阅读 · 1 评论 -
【Java进阶】 深入理解Synchronized
在实际应用过程中使用多线程,可以给我们的程序带来性能上非常大的提升,但是同时,如果我们的线程使用不合理,也会带来非常多不可控的问题,最常见的问题就是线程安全问题了。也就是说当多个线程同时访问某个方法的时候,这个方法无法按照我们的预期行为来执行,那么这个方法就是认为是线程不安全的。其实导致我们线程不安全的原因主要有三个:原子性,有序性,可见性。当谈到Synchronized同步锁的时候无疑就是与原子性相关的了多线程环境的原子性问题什么是原子性呢?在数据库事务...原创 2022-03-29 12:18:16 · 846 阅读 · 0 评论 -
【Java进阶】深入理解ThreadLocal
初识ThreadLocal首先有一个问题,在多线程环境中,我们的多个线程需要同时访问某个共享变量,但我们只希望每个线程对共享变量的相关操作仅对当前线程可见,应该如何操作呢?其实ThreadLocal就是用来解决该问题的工具,它为我们的每个线程提供了一个独立的存储空间,这个空间用来存储共享变量的副本,此后每个线程只会对共享变量的副本进行操作,并且该操作对其他线程而言是不可见的。所以我们可以称ThreadLocal为线程本地变量,相当于说我们创建了一个ThreadLocal变量之...原创 2022-03-28 23:15:39 · 627 阅读 · 0 评论 -
【Java进阶】深入理解并发
前言:对于操作系统的多任务,我们可以简单理解为在同一时刻运行多个程序的能力。就比如生活中我们用电脑可以一边操作QQ一边听着音乐一样。这里首先我们要先理解并行与并发的概念,与并行不同的是,并发的执行并不受CPU的数量所制约。操作系统将CPU的时间片给每个进程,让人有种并行处理的感觉。那么所谓的多线程实质上就是进程版的多任务状态,一个程序同时执行多个任务。我们可以把线程看作“轻量级的进程”。有了“轻量级”这个概念,我们就可以想象到创建或说销毁一个线程的...原创 2022-03-21 15:02:51 · 995 阅读 · 0 评论 -
【Java进阶】关于String的一些思考(集合类)
StringString对象是不可变的,当我们要修改String的值的时候,实际上我们是新建了一个String的对象,而开始的对象则并没有发生改变.我们也可以简单的认为String只是具有可读性. public static String upCase(String s){ return s.toUpperCase();//将小写字母转化为大写 } public static void main(String[] args) throws Exceptio原创 2022-02-28 14:20:05 · 681 阅读 · 0 评论 -
【Java进阶】Sleep和Wait方法的区别(多线程)
相同点:两者都可以让线程进入休眠的状态,并且两者都可以响应interrupt中断,也就是说线程在休眠的过程中如果收到中断的信号,都可以进行响应并中断,并且都可以抛出InterruptException异常不同点:1.两者的语法使用不同wait方法必须配合synchronized使用,为了验证,我实现了以下代码 public static void errorTest() throws InterruptedException { Object lock = new原创 2022-03-02 13:05:43 · 212 阅读 · 0 评论 -
【Java基础】Java异常
异常什么是异常Exception异常指程序中出现的不期而至的各种情况三种异常检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的.例如要打开一个不存在的文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略.运行时异常:运行时异常时可能被程序员避免地异常.与检查性异常相反,运行时异常可以在编译时被忽略.错误ERROR:错误不是异常,而是脱离程序员控制的问题.错误在代码中通常被忽略.例如,当栈溢出时,一个错误就发生了,他们在编译也检查不到.异常的体系结构J原创 2021-08-04 10:04:25 · 61 阅读 · 0 评论 -
【Java基础】java方法详解
java方法详解何谓方法Java方法是语句的集合,它们在一起执行一个功能.方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的设计原则:保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展.方法调用的时候需要在方法定义中加个static.方法的定义以及调用修饰符 返回值类型 方法名(参数类型 参数名){ ... 方法体 ... return 返回值}参数类型形参:在方法原创 2021-08-04 10:02:54 · 163 阅读 · 0 评论 -
【Java基础】Java数组
Java流程控制Scanner对象作用:获取用户输入通过Scanner类的next()与nextLine()方法获取输入字符串,在读取我们一般需要使用hasNext与HasNextLine()判断是否还有输入的数据.基本语法Scanner S = new Scanner(System.in);package Scanner;import java.util.Scanner;public class Demo1 { public static void main(String[]原创 2021-08-01 13:03:34 · 92 阅读 · 0 评论 -
【Java基础】面向对象编程(OOP)
面向对象编程(OOP)初识面向对象面向过程思想:步骤简单,第一步做啥,第二步做啥面向对象思想:物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对分类进行单独思考.最后才对某个分类下的细节进行面向过程的思索.对于描述复杂的事物,为了宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统.但是,具体到微观操作,仍然需要面向过程的思路去处理.OOP(Pbject-Oriented Programming)面向对象编程本质: 以类的方式组织代码,以对象的组织原创 2021-08-04 10:03:46 · 149 阅读 · 0 评论 -
【Java基础】Java程序的运行机制
Java程序的运行机制编译型编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制)程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。类似于我把一本书完全翻译了之后,再给你读一般用于开发操作系统,C/C++解释型源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行程序不需要编译,程序在运行时才翻译成机器语言,每执 行一次都要翻译一次类似于一本书你看一句,我翻译一句原创 2021-07-25 22:25:27 · 73 阅读 · 0 评论 -
【Java基础】Java的基础语法
Java的基础语法1.注释,标识符,关键字注释:书写注释是一个非常好习惯Java注释三种:单行注释多行注释文档注释 public static void main(String[] args) { //单行注释:只能注释一行 //输出HelloWorld System.out.println("Hello"); //多行注释:可以注释一段文字/* */ /* 我是多行注释原创 2021-07-26 20:52:20 · 100 阅读 · 0 评论 -
【Java基础】Java开发环境搭建
Java开发环境搭建JDK的下载与安装安装:百度搜索JDK8(建议8),找到下载地址同意协议,下载对应版本安装JDK,建议独立建一个用于安装所有环境变量的文件夹配置环境变量我的电脑–》右键–》属性环境变量–》新建JAVA_HOME,添加安装路径(编译器很多默认都是查找JAVA_HOME的变量名)配置Path变量–》找到Path变量新建,两种方法(有些比较高级的版本是没有jre目录的,直接用bin目录即可)直接将 安装路径上的\bin目录与jre\bin 写上去添加%JAVA_HM原创 2021-07-25 22:13:29 · 60 阅读 · 0 评论 -
【Java基础】Java发展史
Java发展史1972年C的诞生特点:比较贴近硬件,运行极快,效率高操作系统,数据库,编译器,网络系统等指针与内存库埃里1982年C++诞生特点:面向对象兼容C图像领域,游戏等Java所有平台只要有JVM都可以跑通过图形界面(Applet)开始火起J2SE(桌面)J2ME(手机)J2EE(服务器)三高:高可用,高性能,高并发Java开发延展:构建工具:Ant,Maven,Jekins应用服务器:Tomcat,jetty,jboss,websphere,webl原创 2021-07-25 22:20:28 · 64 阅读 · 0 评论