![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 57
723z
这个作者很懒,什么都没留下…
展开
-
Json简介与基本使用
JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式。JSON易于人阅读和编写,同时也易于机器解析和生成。JSON建构于两种结构:一种是键值对,这使得它成为了理想的数据交换语言。尽管JSON是JavaScript的一个子集,但JSON是语言无关的。这也是它在实际应用中如此广泛的原因。JSON 主要被用来在Web页面和服务器之间传输数据。由于其体积小,格式明晰,方便解析,所以在Web开发中,作为数据格式的JSON 更受欢迎。原创 2024-02-23 15:46:27 · 319 阅读 · 0 评论 -
Java 中文乱码浅析及解决方案
在对字符串进行操作时,尽量确保所有字符串的字符集是一致的。如果需要,可以使用new String(byte[] bytes, String charsetName)或str.getBytes(String charsetName)对字符串的编码进行显式的转换。Java的编码问题是一个复杂而又普遍的问题,上面提供的是一些常见的解决方案。在实际开发过程中,需要对发生问题的场合进行具体的分析,采取针对性的措施。在进行数据库操作时,需要确保数据库连接的url里指定了正确的字符编码,以及数据库表的字符集与此一致。原创 2024-02-23 15:17:48 · 310 阅读 · 0 评论 -
函数式接口
概念函数式接口在Java中是指:有且仅有一个抽象方法的接口。函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可 以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。备注:“语法糖”是指使用更加方便,但是原理不变的代码语法。例如在遍历集合时使用的for-each语...原创 2020-04-08 22:24:30 · 167 阅读 · 0 评论 -
网络编程
网络编程入门软件结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机 的通信的程序。 网络通信协议网络...原创 2020-04-03 00:02:32 · 227 阅读 · 0 评论 -
缓冲流、转换流、序列化流
缓冲流缓冲流,也叫高效流,是对4个基本的 FileXxx 流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流: BufferedInputStream , BufferedOutputStream 字符缓冲流: BufferedReader , BufferedWriter 缓冲流的基本原理:是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系...原创 2020-03-24 23:19:23 · 113 阅读 · 0 评论 -
字节流、字符流
io:Java中I/O操作主要是指使用 java.io 包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写 出数据IO的分类根据数据的流向分为:输入流和输出流。 输入流 :把数据从 其他设备 上读取到 内存 中的流。 输出流 :把数据从 内存 中写出到 其他设备 上的流。 格局数据的类型分为:字节流和字符流。 字节流 :以字节为单位,读...原创 2020-03-18 19:46:33 · 141 阅读 · 0 评论 -
递归
递归:指在当前方法内调用自己的这种现象。递归的分类: 递归分为两种,直接递归和间接递归。 直接递归称为方法自身调用自己。 间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。 注意事项: 递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。 在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。java.lang.Stack...原创 2020-03-17 22:54:05 · 122 阅读 · 0 评论 -
File类
java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。构造方法public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。 ...原创 2020-03-17 20:57:55 · 127 阅读 · 0 评论 -
Lambda表达式、函数式接口
函数式编程思想概述在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿什么东西做什么事情”。相对而言,面向对象过 分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以 什么形式做。 面向对象的思想: 做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情. 函数式编程思想: 只要能获取到结果,谁...原创 2020-03-16 20:47:15 · 118 阅读 · 0 评论 -
线程池
等待唤醒机制线程间通信概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。比如 一个线程负责生产,而另一个线程负责消费,两个线程就存在通信问题。wait/notify 就是线程间的一种协作机制。 1. wait:线程不再活动,不再参与调度,进入 wait set 中,因此不会浪费 CPU 资源,也不会去竞争锁了,这时 的线程状态即是 WAIT...原创 2020-03-13 22:40:30 · 105 阅读 · 0 评论 -
线程状态
在API中 java.lang.Thread.State 这个枚举中给出了六种线程状态:new (新建) 线程刚被创建,但是还没有调用start()Runnable(可运行状态) 线程可以在java虚拟机中运行的状态,可能正在运行自己的代码,也可能没有,zheq这取决于cpuBlocked (阻塞状态) 当一个线程试图获得一个对象锁,而这个对象锁被其他的线程持有,该线程进入到...原创 2020-03-13 00:08:45 · 149 阅读 · 0 评论 -
线程安全
线程安全:如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样 的,而且其他的变量的值也和预期的是一样的,就是线程安全的。线程安全问题都是由全局变量及静态变量引起的。若每个线程中对全局变量、静态变量只有读操作,而无写 操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步, 否则的话...原创 2020-03-12 23:08:50 · 106 阅读 · 0 评论 -
Thread类和Runnable类
Thread类:构造方法:public Thread() :分配一个新的线程对象。public Thread(String name) :分配一个指定名字的新的线程对象。public Thread(Runnable target) :分配一个带有指定目标新的线程对象。public Thread(Runnable target,String name) :分配一个带有指定目标新的...原创 2020-03-11 22:19:35 · 338 阅读 · 1 评论 -
多线程
并发与并行并发:指两个或多个事件在同一个时间段内发生。(宏观上)并行:指两个或多个事件在同一时刻发生(同时发生)。 ,当系统只有一个CPU时,线程会以某种顺序执行多个线程,我们把这种情况称之为 线程调度。 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多 个进程;进程也是程序的一次执行过程,是系统运行程序的基...原创 2020-03-11 22:09:53 · 90 阅读 · 0 评论 -
异常
异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 异常的根类是 java.lang.Throwable ,其下有两个子类: java.lang.Error 与 java.lang.Exception Error: 内存溢出,系统崩溃Throwable中的常用方法: public void printStackTrace()...原创 2020-03-11 21:30:52 · 91 阅读 · 0 评论 -
Map集合
映射:Java提供了专门的集合类用来存放这种对象关系的对象,即 java.util.Map 接 口。Collection 中的集合称为单列集合, Map 中的集合称为双列集合。Map 中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。 Map集合的常用子类HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、...原创 2020-03-11 20:47:11 · 116 阅读 · 0 评论 -
Collections
常用功能java.utils.Collections 是集合工具类,用来对集合进行操作。部分方法如下: public static <T> boolean addAll(Collection<T> c, T... elements) :往集合中添加一些元素。 public static void shuffle(List<?> list) 打乱顺序 ...原创 2020-03-09 22:32:31 · 101 阅读 · 0 评论 -
可变参数
在JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类型一致修饰符 返回值类型 方法名(参数类型... 形参名){ } 同样是代表数组,但是在调用这个带有可变参数的方法时,不用创建数组(这就是简单之处),直接将数组中的元素 作为实际参数进行传递,其实编译成的class文件,将这些元素先封装到一个数组中,在进行传递。这些动作都在编 译.class文件时,自动完成了...原创 2020-03-09 21:39:55 · 90 阅读 · 0 评论 -
Set接口
java.util.Set 接口和 java.util.List 接口一样,同样继承自 Collection 接口,它与 Collection 接口中的方 法基本一致,并没有对 Collection 接口进行功能上的扩充,只是比 Collection 接口更加严格了。与 List 接口不 同的是, Set 接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。 HashSe...原创 2020-03-09 21:34:56 · 136 阅读 · 0 评论 -
List接口介绍
List接口特点: 1. 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、 22、33的顺序完成的)。2. 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。 3. 集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。 List接口中常用的方法List作为C...转载 2020-02-21 16:52:00 · 400 阅读 · 0 评论 -
List、Set、数据结构、Collections
常见的数据结构:栈、队列、数组、链表和红黑树栈:stack 又称堆栈,他是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其 他任何位置进行添加、查找、删除等操作。 特点:先进后出(即,存进去的元素,要在它后面的元素依次取出后,才能取出该元素)列如弹夹中的子弹栈的入口、出口的都是栈的顶端位置。压栈:就是存元素。即,把元素存储到栈的顶端位置,栈中已有元素...原创 2020-02-21 00:21:41 · 103 阅读 · 0 评论 -
Collection 、泛型
Collection集合集合:集合是java中提供的一种容器,可以用来存储多个数据。 List的特点是元素有序、元素可重复。Set的特点是元素无序,而且不可重复。List接口的主要实现类有java.util.ArrayList和java.util.LinkedList,Set接口的主要实现类有java.util.HashSet和java.util.TreeSet。集合和数组的区别:数组...原创 2020-02-20 19:16:30 · 131 阅读 · 0 评论 -
final关键字
final修饰类:不能被继承方法:不能被重写变量: 不能重新赋值修饰变量:局部变量基本类型变量:注意:循环内创建的变量,每一次都是新的变量,所以被final修饰时,可以进行第二次赋值引用类型变量:引用类型的局部变量,被final修饰时,只能指向一个对象,地址不能再更改,但是不影响对象内部的成员变量的修改成员变量:final修饰的成员变量,初始化的问题,只能是直接赋值,或者构造...原创 2020-02-04 17:18:23 · 111 阅读 · 0 评论 -
接口、 多态
接口,是java语言中的一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法、成员方法,那么 接口的内部主要就是封装了方法,包含抽象方法(jdk7及以前),默认方法和静态方法(jdk8),私有方法(jdk9)接口的定义关键字:interface它也会编译成.class文件,但它并不是类而是另外一种引用类型引用数据类型:数组 类 接口不能创建对象,但是可以implements...原创 2020-02-04 16:12:30 · 241 阅读 · 0 评论 -
继承
继承的好处:提高代码的复用性类与类之间产生了关系,是多态的前提关键字:extend子父类出现同名的成员变量,子类访问非私有的父类成员变量时,需要用到关键字super成员方法重名 ---- 重写(Override)如果子类父类 中出现重名的成员方法(返回值,方法名和参数列表都相同),声明不变,重新实现注意事项:1子类方法覆盖父类方法,必须要保证权限大于等于父类权限2子类方法覆盖父类...原创 2020-02-01 20:52:34 · 203 阅读 · 0 评论 -
Arrays类、Math类
arrays类它下的所有方法都是static修饰的此类包含用来操作数组(比如排序和搜索)的各种方法Arrays.toString(arr)Arrays.sort(arr)Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数public static double abs(double a)返回double的绝对值public static double ce...原创 2020-02-01 16:34:50 · 101 阅读 · 0 评论 -
static 关键字
static可以用来修饰成员变量和成员方法,被修饰的成员是属于类的,而不是单单属于某个对象。可以不用使用创建对象来调用类变量: static修饰的成员变量静态方法:static修饰的成员方法静态方法调用的注意事项:静态方法可以直接访问类变量和静态方法静态方法不能直接访问普通成员变量或成员方法。反之,成员方法可以直接访问类变量或静态方法静态方法中,不能使用this关键字static修饰...原创 2020-02-01 15:48:58 · 199 阅读 · 0 评论 -
String类
1.字符串不变:字符串的值在创建后不能被更改2.因为String对象是不可变的,所以他们可以被共享3.“abc”等效于char【】 data= {‘a’,‘b’,‘c’}构造方法:public String()public String(char[] value)public String(byte[] bytes)常用方法:判断功能的方法public boolean equal...原创 2020-02-01 14:18:17 · 97 阅读 · 0 评论 -
封装,常用类
优化一:this优化二:构造方法一旦自己定义了构造方法,java自动提供默认无参构造方法就会失效scanner 类 random类 arraylist类api (application programming interface)应用程序编程接口除了java.lang包下的,其他的包都需要导包匿名函数1创建匿名对象直接调用方法,没有变量名ne...原创 2020-01-31 16:55:46 · 145 阅读 · 0 评论 -
成员变量和局部变量
在类中位置不同:成员变量:类中 方法外局部变量:方法中 方法的参数作用范围:成员变量:类中局部变量:方法中初始化值的不同成员变量: 有默认值局部变量:没有默认值,必须先定义,赋值后使用在内存中的位置不同成员变量:堆内存局部变量:栈内存生命周期不同:成员变量:随对象的创建而存在随对象消失而消失局部变量:随方法存在而存在随方法调用完毕而消失...原创 2020-01-31 11:38:14 · 102 阅读 · 0 评论