java基础语法
文章平均质量分 89
本专栏记录javase、javaweb开发知识
程序三两行
愿你保持身心健康,去爱你所爱,不虚此生
展开
-
java体系结构和jvm
具体JVM的内存结构,其实取决于其实现,不同厂商的JVM,或者同一厂商发布的不同版本,都有可能存在一定差异。主要以Oracle HotSpot VM为默认虚拟机。原创 2023-03-20 21:39:45 · 438 阅读 · 0 评论 -
java安装和配置环境变量
第一代语言:机器语言,指令以二进制代码形式存在第二代语言:汇编语言,使用助记符表示一条机器指令第三代语言:高级语言,c、Java 、python、go。原创 2022-07-06 11:23:31 · 704 阅读 · 0 评论 -
java变量和运算符
右边的值可以是任何常 数、变量或者表达式,只要能产生一个值就。但左边的值必须是一个明确的、已命名的变量。在类里面,方法外,使用static修饰,只要类加载,它就存在,可以使用类名.变量调用,但普通变量必须用对象调用,如果没有初始化,则会默认的(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)定义在类里面 方法外面,从属于对象,所以对象消失,它也跟着消失,如果没有初始化,则会默认的。//局部变量,定义在方法内或者语句块内,从属于方法或者语句块,使用之前必须手动初始化,.原创 2022-07-06 11:27:50 · 280 阅读 · 0 评论 -
java中的包装类型
在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的。而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,考试成绩需要转换成double类型等。那么,想实现字符串与基本数据之间转换怎么办呢?Java中提供了相应的对象来解决该问题,基本数据类型对象包装类:java将基本数据类型值封装成了对象。封装成对象有什么好处?可以提供更多的操作基本数值的功能。我们已经知道,Java的数据类型分两种:byte,short,int,long,...原创 2022-08-09 11:53:29 · 250 阅读 · 0 评论 -
String、StringBuffer 、StringBuilder、StringJoiner
用来连接多个字符的,本质就是一个char型的数组,是一种引用类型,并且不能被继承因为是final修饰的相当于(string底层靠数组实现)Java9改进了字符串(包括String、StringBuffer、StringBuilder)的实现。在Java9以前字符串采用char[]数组来保存字符,因此字符串的每个字符占2字节;而Java9的字符串采用byte[]数组再加一个encoding-flag字段来保存字符,因此字符串的每个字符只占1字节。......原创 2022-08-09 11:23:07 · 758 阅读 · 0 评论 -
常用类以及接口
1. 所有类的父类,不管继承不继承都是这个类的子类2. 构造方法public Object(){} 注意,因为是超类,所以第一句没有super()原创 2022-08-09 15:07:44 · 174 阅读 · 0 评论 -
AutoCloseable的使用
从上面的例子我们可以看出,当我们使用资源完成我们的操作后,我们必须去手动调用close方法关闭资源。当我们进行某些资源调用的时候,我们用完资源后需要进行关闭资源操作。其实java给我们提供了一个资源关闭接口供我们使用。它就是AutoCloseable。我们可以看到更改以后的代码,并没有调用close方法,但是还是打印出了“【资源关闭】”,这就说明我们的close方法是自动运行的。【资源操作】---我正在操作资源...【资源操作】---我正在操作资源...转载 2022-09-22 10:54:35 · 323 阅读 · 0 评论 -
java BigDecimal使用详细介绍
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。原创 2022-08-24 18:29:16 · 2697 阅读 · 0 评论 -
java正则表达式
使用定义好规则的字符串去判断另一个字符串是否符合此规定对正则阅读有障碍的同学可以借助这个网站/,将正则可视化,从此爱上读正则!可视化后,直接看图说话,小白都会。原创 2022-07-28 10:10:38 · 587 阅读 · 0 评论 -
枚举类的使用
在Java中,我们可以通过来定义常量。例如,我们希望定义周一到周日这7个常量,可以用7个不同的int无论是int常量还是String常量,使用这些常量来表示一组枚举值的时候,有一个严重的问题就是,编译器无法检查每个值的合理性。Weekday067intenum为了让编译器能自动检查某个值在枚举的集合内,并且,不同用途的枚举需要不同的类型来标记,不能混用,我们可以使用enum注意到定义枚举类是通过关键字enum实现的,我们只需依次列出枚举的常量名。...原创 2022-08-10 17:37:08 · 593 阅读 · 0 评论 -
程序国际化
同一条程序可以在不同的各个语言环境下使用,各个环境下只是显示的语言不同,具体的程序业务逻辑都是一样的。原创 2022-08-09 15:27:35 · 156 阅读 · 0 评论 -
java序列化
java序列化原创 2022-07-22 10:26:28 · 739 阅读 · 0 评论 -
java中的时间、日期
从Java 8开始,java.time,LocalDate,LocalTime;;Instant;Duration。以及一套新的用于取代的格式化类型。和旧的API相比,新API严格区分了时刻、本地日期、本地时间和带时区的日期时间,并且,对日期和时间进行运算更加方便。Month的范围用1~12表示1月到12月;Week的范围用1~7表示周一到周日。最后,新API的类型几乎全部是不变类型(和String类似),可以放心使用不必担心被修改。2、...原创 2022-08-08 15:48:50 · 1593 阅读 · 0 评论 -
java Locale类使用
Locale表示地区。每一个Locale对象都代表了一个特定的地理、政治和文化地区。在操作Date,Calendar等表示日期/时间的对象时,经常会用到;因为不同的区域,时间表示方式都不同。原创 2022-07-29 10:24:59 · 1930 阅读 · 1 评论 -
java Properties类
java Properties类原创 2022-07-22 10:26:49 · 205 阅读 · 0 评论 -
java中的程序异常处理
指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行1. 自定义一个编译期异常: 自定义类 并继承于 java.lang.Exception。2. 自定义一个运行时期的异常类:自定义类 并继承于 java.lang.RuntimeException。原创 2022-07-06 11:11:19 · 429 阅读 · 0 评论 -
java集合总结
如果涉及到堆栈,队列等操作,应该考虑用List,对于需要快速插入,删除元素,应该使用LinkedList,如果需要快速随机访问元素,应该使用ArrayList。如果程序在单线程环境中,或者访问仅仅在一个线程中进行,考虑非同步的类,其效率较高,如果多个线程可能同时操作一个类,应该使用同步的类。要特别注意对哈希表的操作,作为key的对象要正确复写equals和hashCode方法。httpshttpshttpshttps。......原创 2022-07-28 10:38:42 · 367 阅读 · 0 评论 -
java泛型
java泛型的使用原创 2023-01-05 16:36:37 · 1153 阅读 · 0 评论 -
Java 中 IO 流、File文件
java file、io流使用总结原创 2022-07-26 17:06:09 · 463 阅读 · 0 评论 -
java多线程之线程创建和状态
在 Java 中, 线程部分是一个重点, 本篇文章说的 J UC 也是关于线程的。J UC 就是 java.util . concurrent 工具包的简称。这是一个处理线程的工具包, JDK 1 . 5 开始出现的。在Java程序中,一个线程对象只能调用一次start()方法启动新线程,并在新线程中执行run()方法。一旦run()方法执行完毕,线程就结束了。NEW,//新创建的线程,尚未执行;RUNNABLE,//运行中的线程,正在执行run()方法的Java代码;原创 2022-08-07 17:30:13 · 725 阅读 · 0 评论 -
java多线程之FutureTask、Future、CompletableFuture
FutureTask除了实现Future接口外,还实现了Runnable接口。因此,FutureTask可以交给 Executor执行,也可以由调用线程直接执行(FutureTask.run())。原创 2023-07-18 17:00:38 · 3455 阅读 · 0 评论 -
java多线程之线程池
在执行一个异步任务或并发任务时,往往是通过直接new Thread()方法来创建新的线程,这样做弊端较多,更好的解决方案是合理地利用线程池,线程池的优势很明显,如下:降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗...原创 2022-06-30 08:22:32 · 4433 阅读 · 0 评论 -
java多线程之线程通信
合理的使⽤Java多线程可以更好地利⽤服务器资源。⼀般来讲,线程内部有⾃⼰私 有的线程上下⽂,互不⼲扰。但是当我们需要多个线程之间相互协作的时候,就需 要我们掌握Java线程的通信⽅式。本⽂将介绍Java线程之间的⼏种通信原理。原创 2023-08-30 16:03:12 · 721 阅读 · 0 评论 -
java多线程之线程通信工具类
在JDK的并发包里提供了几个非常有用的并发工具类。CountDownLatch、CyclicBarrier和 Semaphore工具类提供了一种并发流程控制的手段,Exchanger工具类则提供了在线程间交换数 据的一种手段。它们都在java.util.concurrent包下。先总体概括⼀下都有哪些⼯具类,它们有什么 作⽤,然后再分别介绍它们的主要使⽤⽅法和原理原创 2022-10-03 02:19:45 · 1632 阅读 · 0 评论 -
java多线程之并发容器集合
并发容器是Java 5 提供的在多线程编程下⽤于代替同步容器,针对不同的应⽤场景 进⾏设计,提⾼容器的并发访问性,同时定义了线程安全的复合操作,针对queue、List、Map、Set、Deque等,java.util.concurrent包提供了对应的并发集合类原创 2023-07-18 15:13:07 · 526 阅读 · 0 评论 -
java多线程之原子操作类
Atomic类是通过无锁(lock-free)的方式实现的线程安全(thread-safe)访问。它的主要原理是利用了CAS:Compare and Set。包除了提供底层锁、并发集合外,还提供了一组原子操作的封装类,它们位于。在高度竞争的情况下,还可以使用Java 8提供的。这样的封装好的方法,因此,使用起来非常简单。CAS是指,在这个操作中,如果。通常情况下,我们并不需要直接用。的值,最终的结果也是正确的。实现复杂的并发操作,而是用。循环,即使其他线程修改了。,就什么也不干,返回。原创 2023-07-18 15:32:13 · 194 阅读 · 0 评论 -
ThreadLocal、InheritThreadLocal、TransmittableThreadLocal
多线程是Java实现多任务的基础,Thread对象代表一个线程,我们可以在代码中调用获取当前线程。例如,打印日志时,可以同时打印出当前线程的名字,对于多任务,Java标准库提供的线程池可以方便地执行这些任务,同时复用线程。然后,通过线程池去执行这些任务。观察process()方法,它内部需要调用若干其他方法,同时,我们遇到一个问题:如何在一个线程内传递状态?process()方法需要传递的状态就是User实例。有的童鞋会想,简单地传入User但是往往一个方法又会调用其他很多方法,这样会导致User。原创 2022-09-22 21:33:27 · 528 阅读 · 0 评论 -
java网络编程
网络编程原创 2022-07-22 10:27:14 · 187 阅读 · 0 评论 -
java原生发送http请求
另外两篇文章使用JDK原生提供的net包下的HttpURLConnection、URLConnection、Socket三个类都可实现,无需其他jar包。原创 2022-09-23 23:33:54 · 2624 阅读 · 1 评论 -
java注解篇
JDK1.5之后引入的一个特性,于接口、枚举、类是同一个层次。可以对包、类、字段、方法、参数、局部变量进行说明、注释。原创 2022-07-22 10:27:48 · 240 阅读 · 0 评论 -
java反射篇
java反射原创 2022-07-22 10:27:35 · 153 阅读 · 0 评论 -
java8新特性 lambda表达式、Stream、Optional
Lambda表达式需要函数式接口的支持,格式:()→ {}常见格式格式1:无参无返回值//使用Lambda替代runnable接口中无参无返回的run方法@Testr.run();}格式2:一参无返回值//使用Lambda替代Consumer接口中有一个参数无返回值的accept方法@Test}当然对已一个参数的情况,箭头操作符右边的括号可以省略,等价的代码@Test}格式3:多个参数有返回值//使用Lambda替代比较器接口有两个参数并且返回值的@Test}...原创 2022-07-08 11:33:47 · 499 阅读 · 0 评论 -
http协议
在Web应用中,浏览器请求一个URL,服务器就把生成的HTML网页发送给浏览器,而浏览器和服务器之间的传输协议是HTTP,所以:HTML是一种用来定义网页的文本,会HTML,就可以编写网页;HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信。原创 2022-07-07 15:48:52 · 303 阅读 · 0 评论 -
servlet使用
是运行在web服务器上的java程序,用来处理前端(客户端)的响应和请求原创 2022-07-27 10:37:33 · 179 阅读 · 0 评论 -
jsp、EL表达式、Jstl使用
目录一:EL表达式1.1、概述什么是EL表达式1.2、为什么使用el表达式1.3、el运算1.4、内置11个对象二:jstl标签库2.1、jstl概述2.2、五大子库2.3、核心库的使用标签库循环标签标签标签标签标签标签c:choose> 2.4、国际化库的使用2.5、XML标签2.6、JSTL函数:2.7、SQL标签:一:EL表达式1.1、概述什么是EL表达式EL(Express Lan......原创 2020-09-18 15:59:32 · 661 阅读 · 0 评论 -
xml文件使用及解析
Xml和html都是一种标记语言,但是xml是可扩展的标记语言,之所以是可扩展的,对于html所有的标记比如,表示一个连接。都是有一定含义的,不能自己定义一些标签,但是xml就可以自定义一些标签。用于传输数据1. JAXP:sun公司提供的解析器,支持dom和sax两种思想。...原创 2022-07-27 10:35:05 · 5272 阅读 · 0 评论 -
Json格式数据解析
一、简介XML这种数据格式。XML的特点是功能全面,但标签繁琐,格式复杂。在Web上使用XML现在越来越少,取而代之的是JSON这种数据结构。JSON是JavaScript Object Notation的缩写,它去除了所有JavaScript执行代码,只保留JavaScript的对象格式。典型的JSON如下:json对象json对象数组json字符串JSON字符串也是在平时开发中使用较多的,json字符串应满足以下条件:1:它必须是一个字符串,由" "或者' '包裹数据,支持字符串的各种操作。...原创 2020-05-14 12:27:56 · 21581 阅读 · 0 评论 -
计算机编码
大家都知道美国人发明了计算机,发明计算机过程中面临的一个问题就是如何将美国生活中的字符存储到计算机。这些字符包括可见字符(数组、英文字母、标点符号)和不可见字符(控也称为控制字符,如空格、换行、回车)总共128个将这些字符分别和数字一一对应起来,如下表,从0开始到127总共128个,0、1、2...127称之为码位,其中0-31以及127为控制字符共33个,32-126码位对应可见字符共95个,美国人称这个表为ASCII字符集。有了这个字符集,下面问题就是如何将这个字符表存入计算机呢?.........原创 2022-08-07 11:12:05 · 1034 阅读 · 0 评论 -
ServletContext、request、response
ServletContext官方叫servlet上下文,是一个接口。服务器启动的时候创建,服务器关闭的时候销毁,启动时候会为每一个工程创建一个对象,这个对象就是ServletContext对象。这个对象全局唯一,而且工程内部的所有servlet都共享这个对象。所以叫全局应用程序共享对象。...原创 2022-07-27 10:39:07 · 335 阅读 · 0 评论 -
cookie与Session
用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。保持各个客户端自己的数据,每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据...原创 2022-07-27 10:39:59 · 122 阅读 · 0 评论