Java笔记
文章平均质量分 77
。。。
屈家全
一个为了Java即将秃顶的程序猿
展开
-
并发编程入门指南
AQS即抽象队列同步器,是JUC中提供的一种锁机制,它是构建锁或者其他同步组件的基础框架。JUC中很多关于锁的类底层都是基于AQS来实现的。synchronized和AQS的区别,synchronized是关键字底层是C++实现,AQS是Java语言实现的;两者都是悲观锁,synchronized锁是自动创建和释放,AQS是手动创建和释放;synchronized在锁竞争激烈的时候会自动升级为重量级锁,性能较差,AQS在锁竞争激烈的时候会有多种解决方式。原创 2024-02-21 10:24:19 · 1074 阅读 · 0 评论 -
JVM Java虚拟机入门指南
JVM的执行流程程序在执行前先要把Java代码转换成字节码(.class)文件,JVM需要将字节码文件通过一定方式的**类加载器(ClassLoader)**把文件加载到内存的**运行时数据区(Runtime Data Area)**,而字节码文件是JVM的一套指令集规范,并不能直接由底层操作系统区执行,因此需要特定的命令解析器**执行引擎(Execution Engine)**将字节码翻译成底层系统指令再交给CPU去执行,这个过程中需要调用其他语言的接口**本地库接口(Native Interface原创 2024-02-06 09:56:11 · 2259 阅读 · 0 评论 -
Java基础--->并发部分(1)
缓存(工作内存)导致可见性问题,编译(指令重排)优化带来有序性问题,线程切换带来原子性问题。缓存、线程、编译优化的目的和我们写并发程序的目的是相同的,都是提高程序安全性和性能。原创 2023-04-26 17:52:18 · 630 阅读 · 0 评论 -
Java基础--->基础部分(1)
在Java中,JVM可以解释的代码就叫字节码(.class文件),他不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以, Java 程序运行时相对来说还是高效的(不过,和 C++,Rust,Go 等语言还是有一定差距的),而且,由于字节码并不针对一种特定的机器,因此,Java 程序无须重新编译便可在多种不同操作系统的计算机上运行。原创 2023-04-24 13:51:51 · 367 阅读 · 0 评论 -
Java基础--->集合详解
将数组和链表结合,创建一个链表数组,数组中每一个就是一个链表,若遇到哈希冲突,则将冲突的值加到链表中即可,JDK8之后在解决哈希冲突有了较大的变化,当链表长度大于阈值(默认8)(将链表转换成红黑树前会判断,如果当前数组的长度小于 64,那么会选择先进行数组扩容,而不是转换为红黑树)时,将链表转化为红黑树,以减少搜索时间。不可重复的,就是说添加元素时,需要同时重写。 定义初始值,会进行判断,如果大于0,直接使用定义的初始值,如果等于0,系统赋值默认初始值10,如果小于0,报错。原创 2023-04-23 12:22:29 · 1060 阅读 · 0 评论 -
BigInteger
①value.Of(参数);这个函数的作用是将括号内的参数转换成指定的数据类型,例如以下例子//输出的f将会等于BigInteger型的42• // 答案: f=42其实还可以转成其他的类型,例如以下以下,※※※需要注意的是不重写的话,jdk1.8 版本是无法支持这种转换的※※※• // 则c=12345;※※※需要注意的是不重写的话,jdk1.8 版本是无法支持这种转换的②add()方法;原创 2023-02-05 14:34:47 · 362 阅读 · 0 评论 -
String,StringBuffer,StringBulider三者区别,以及常用方法
- String 是不可变的对象, 每次对 String 类型进行改变的时候都相当于生成了一个新的 String 对象,然后将指针指向新的 String 对象,每次生成对象都会对系统性能产生影响,所以经常改变内容的[最好不要用 String原创 2022-10-17 17:37:23 · 243 阅读 · 0 评论 -
Java中List、Set、Map集合的详细使用方法
Java中List、Set、Map集合的详细使用方法。原创 2022-10-16 14:40:40 · 572 阅读 · 0 评论 -
将springboot项目部署到云服务器中,将vue项目部署到nginx中
这里我使用的是mysql数据库,右击数据库可以看到有备份和导入,将数据库备份并导入到云服务的数据库中。如果没有云服务器或者云服务器没有部署请先购买部署云服务器—>原创 2022-10-15 10:29:58 · 1370 阅读 · 3 评论 -
Linux中nginx的安装,nginx的概述
nginx由俄罗斯人开发的web服务器,支持反向代理,实现负载均衡 - 内存少,并发能力强 - 是一款前端服务器,不能运行java代码 - 支持正向代理: 知道目标服务器的地址,例如访问tomcat. - 支持反向代理:不知道目标服务器地址,例如访问到tomcat,由tomcat代理调用其他服务器,称为反向代理 - 支持负载均衡: 就是将很多个请求,通过负载均衡规则,分发到多个服务器上,缓解服务器压力.原创 2022-09-28 04:00:00 · 200 阅读 · 0 评论 -
Linux中redis的概述及redis的安装,远程连接
- sql是关系型数据库操作的标准语言,mysql,sqlserver,oracle... - not only sql 不仅仅是sql,是对非关系型数据库的统称.原创 2022-09-27 16:50:06 · 774 阅读 · 0 评论 -
在Linux中安装mysql,mysql密码修改,Linux中用户账号与权限管理
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。原创 2022-09-27 14:34:09 · 1090 阅读 · 0 评论 -
Linux中安装tomcat
Linux中安装tomcat原创 2022-09-27 02:08:33 · 159 阅读 · 0 评论 -
Linux中jdk的安装
Linux中安装jdk原创 2022-09-27 02:08:01 · 180 阅读 · 0 评论 -
Linux概述,购买云服务器,远程连接服务器,Xshell常用命令
Linux概述,购买云服务器,远程连接服务器,Xshell常用命令原创 2022-09-23 00:15:29 · 238 阅读 · 0 评论 -
springBoot框架简介入门教程(快速学习版)
Spring Boot 对上述 spring 的缺点进行的改善和优化,基于约定优于配置的思想.可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。...原创 2022-08-15 21:02:07 · 738 阅读 · 0 评论 -
JWT的优点、构成及搭建
Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一 种基于 JSON 的开放标准((RFC 7519).定义了一种简洁的,自包含的方法用于 通信双方之间以 JSON 对象的形式安全的传递信息。因为数字签名的存在,这些 信息是可信的,JWT 可以使用 HMAC 算法或者是 RSA 的公私秘钥对进行签名...原创 2022-08-12 10:04:21 · 283 阅读 · 0 评论 -
7-18 springMVC(Web)(建议掌握前两篇博客 maven,mybatis)
我们发现在提交请求的时候,如果输入的是中文,处理器方法获取到之后是乱码。乱码产生的原因在 Java Web 课程中已经讲解过了,解决的方法就是添加一个过滤器,为 request 对象设置编码集。SpringMVC 中已经为我们提供了这个过滤器,只需要在 web.xml 中配置好即可:...原创 2022-08-10 17:58:14 · 52 阅读 · 0 评论 -
Java Spring框架详解
- Spring于2003年兴起,是一个轻量级(核心jar包比较小,但是数量多) - 非侵入式(框架代码不会侵入业务代码,业务代码不会实现或继承框架中接口或类) - IOC(Inversionof Control反转控制/控制反转,由SpringIOC将所有使用对象进行管理)和AOP(面向切面编程,将公共功能进行提取,然后统一代码调用)的一站式框架,简化企业级应用开发...原创 2022-07-18 20:49:36 · 680 阅读 · 0 评论 -
XML(可扩展标记语言)
- XML 指可扩展标记语言(Extensible Markup Language) - XML 是一种标记语言,很类似 HTML - XML 的设计宗旨是传输,存储数据,而非显示数据 - XML 标签没有被预定义。您需要自行定义标签。 - XML 被设计为具有自我描述性。...原创 2022-07-18 19:13:11 · 244 阅读 · 0 评论 -
Java反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取信息以及动态调用对象的方法的功能称为java语言的反射机制。...原创 2022-07-18 18:44:43 · 72 阅读 · 0 评论 -
Mybatis概述、环境搭建、增删改查、映射、缓存、动态SQL、嵌套查询
Mybatis原是Apache的一个开源项目iBatis,2010年6月迁移到了GoogleCodeMyBatis避免了几乎所有的JDBC代码手动设置参数以及手动获取结果集的操作MyBatis可以使用XML或注解来配置和映射,将数据库中的记录映射成Java的POJO(PlainOldJavaObjects,普通的Java对象),是一种ORM(ORMObjectRelationalMapping对象关系映射)实现.它支持动态SQL以及数据缓存...原创 2022-07-16 11:00:42 · 155 阅读 · 0 评论 -
java 常用类 异常 集合
文章目录常用类final关键字API概述Obejct类Arrays类String类字符串常用方法练习处理--正则表达式概述--数字匹配数量控制正则表达式案例--匹配字母字符串替换方法StringBufferString--StringBuffer-StringBuilder区别基本类型包装类Math---Bandom--System日期Date异常异常概述异常体系异常处理finally代码块throwsthrow集合练习处理---集合概述Collection常用方法泛型List接口概述ArrayList方法原创 2022-04-22 10:22:10 · 271 阅读 · 0 评论 -
面向对象总结
文章目录面向对象面向对象思想--设计类对象创建过程解释成员变量成员方法构造方法方法重载对象与引用this关键字static关键字代码块包访问权限修饰符封装--封装案例继承继承中的构造方法方法重写(OverRide)处理抽象类多态final关键字接口面向对象面向对象思想–设计类对象创建过程解释成员变量成员方法1.public修饰的类,类名必须与文件名一致 非public修饰的类,类名可以与文件名不一致2.定义类的成员变量(属性) 名词 成员:类的成员,在类中定于定义在类中,方法体之外. 数据类原创 2022-04-14 20:50:23 · 252 阅读 · 0 评论 -
java发展史 java如何实现跨平台 java运行机制
java发展史 在1991年时候,James Gosling在Sun公司的工程师小组想要设计这样一种主要用于像电视盒这样的消费类电子产品的小型计算机语言。这些电子产品有一个共同的特点:计算处理能力和内存都非常有限。所以要求:语言必须非常小且能够生成非常紧凑的代码,这样才能在这样的环境中执行 最初这个语言命名为“Green”,类似于绿色软件的意思。开发一种新的语言Oak,Oak是一种用于网络的精巧而安全的语言, Sun公司此投标一个交互式电视项目, 但结果被SGI打败。 可怜的Oak原创 2022-04-03 15:10:23 · 314 阅读 · 0 评论 -
java IO流
Java IO流一、File类一个File的对象,可以表示计算机硬盘上的一个文件或目录(文件夹)可以获取文件信息,创建文件,删除文件但是不能对文件中的数据进行读写操作//通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。File fi = new File("C:\\Users\\qq\\Desktop\\demo.txt");System.out.println(fi.canExecute()); System.out.println(fi.canRead()原创 2022-01-09 14:09:19 · 180 阅读 · 0 评论 -
java lambda&stream
一、lambdaLambda 表达式是一个匿名函数本质只是一个"语法糖"通常使用 (argument) -> {body}可以具有零个一个或多个参数在之前想要把某些功能传递给某个方法,总要去写匿名类语法糖:指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会无参数,无返回值,lambda 体中只有一行代码时,{}可以忽略() -> System.out.println(“He原创 2021-12-27 16:39:04 · 127 阅读 · 0 评论 -
java集合
集合一、Collection1.List(值可重复)ArrayList底层实现是数组结构,查询快,中间添加、删除慢常用方法ArrayList的常用方法add(int index, E element)get(int index)indexOf(Object o)lastIndexOf(Object o)remove(int index) 删除并返回指定位置元素removeRange(int fromIndex, int toIndex) 删除指定区间的元素(子类继承使用)set(i原创 2021-12-24 12:11:56 · 700 阅读 · 0 评论 -
javaGUI创建一个窗口实现四则运算
创建一个窗口实现四则运算import com.sun.imageio.plugins.gif.GIFImageReader;import jdk.nashorn.internal.scripts.JO;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class fourArithmetic extends原创 2021-12-23 10:38:43 · 693 阅读 · 0 评论 -
HashMap中插入元素的排列以及put方法的实现
/** * Implements Map.put and related methods. * * @param hash hash for key * @param key the key * @param value the value to put * @param onlyIfAbsent if true, don't change existing value * @param evict if false, the table is in creation mode. * @re原创 2021-12-19 19:57:39 · 174 阅读 · 0 评论 -
Java中的关键字
Java中的关键词保留字goto、const具体的关键字(51个)1、访问修饰符: (3个)public、protected、private2、类、接口、抽象类(9个)class、interface、abstract——定义extends——继承类、implements——实现接口new——新建一个对象、super——调用父类方法、this——指代当前对象instanceof——通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。3、数据类型(13个)voi原创 2021-12-14 12:41:25 · 170 阅读 · 0 评论