Java
Java基础
有点建树
这个作者很懒,什么都没留下…
展开
-
springboot 定义类导入爆红,@Autowried自动注入失败
根据提供的异常信息,分析如下:表示在创建名为 ‘a1001Service’ 的 bean 时存在依赖问题,具体是在字段 ‘a1001Mapper’ 上存在依赖不满足的情况。的嵌套异常是,这是一个常见的 Spring 异常,通常发生在 bean 创建或配置时出现问题。无法解析对 bean ‘sqlSessionFactory’ 的引用,而该引用是在设置属性 ‘a1001Mapper’ 时发生的。原创 2024-08-07 18:28:13 · 468 阅读 · 0 评论 -
Jenkins, Docker, kubernetes, Harbor定义
Jenkins:一款基于java的持续集成工具,用于监控持续重复的工作。集成:将一些分散的状态集中在一起,产生联系,从而构建一个有机的整体的过程。有机整体:构成整体的各个部分相互依赖,互相作用。持续集成:是一种软件开发实践,团队开发人员经常经常他们的工作,每次集成都调用自动化集成工具。Docker:一筐开源的应用容器引擎,让开发者可以打包引用及依赖到一个可移植的镜像中,然后发布到任意操作系统中,由于Docker的沙箱机制,使得各个容器之间互不影响。沙箱机制。原创 2023-04-04 08:45:17 · 585 阅读 · 0 评论 -
二叉查找(排序)树/二叉树----建树,遍历
二叉查找(排序)树/二叉树----建树,遍历import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;public class buildBinaryTree { // 静态内部类建立树结构 public static class TreeNode { int val; TreeNode left;原创 2022-03-16 00:45:25 · 228 阅读 · 0 评论 -
java: 非法字符: ‘\ufeff‘
java: 非法字符: '\ufeff'方式一:方式二方式一:idea右下角UTF-8设为GBK,再转为UTF-8方式二有些idea右下角没有显示UTF-8解决办法:选择file–>settings–> …如下图所示。在path中添加错问题的java文件,Encoding形式改为UTF-8即可!...原创 2022-03-15 23:53:45 · 1818 阅读 · 0 评论 -
Java Mail
Java Mailjava.mail & javax.mail.internet包。主要类:Session: 邮件会话。Store: 邮件存储空间。Folder:邮件存储文件夹。Message:电子邮件。Address:邮件地址。Transport:发送协议类。获取邮件信息:相关操作见代码:package tools;import javax.mail.*;import javax.mail.internet.*;import javax.activation.*;原创 2020-08-18 19:20:48 · 230 阅读 · 0 评论 -
Java NIO & AIO编程
Java NIO & AIO编程NIO 编程AIO 编程NIO 编程NIO : Non - Blocking I/O:非阻塞I/O一个线程,可以管理多个线程。避免同步I/O通讯差的特点。主要类:Buffer:缓冲区;Channel:全双工数据通道;Selector:多路选择器。实现过程:通过多路选择器轮询,获得有事件操作的集合;通过SocketChannel读取数据;在Buffer中实现对数据的操作。例子:在服务端,创建Selector,并且配置服务器通道信息,原创 2020-08-18 19:05:28 · 125 阅读 · 0 评论 -
Java Http编程
HTTP编程http编程:Java.net包URL代表一个资源。网址 = 协议 + 域名 + 资源文件 + 参数。URLConnetion:获取资源的连接,创建URL对象。通过URL的openConnections方法获得URLConnection。connect方法:建立连接。getInputStream方法,获取资源内容。例子:使用URLconnection获取网页数据。package URLConnection;import java.io.BufferedReader;原创 2020-08-18 17:01:37 · 335 阅读 · 0 评论 -
Java TCP/UDP编程
java TCP & UDP编程UDP编程TCP编程UDP编程UPD: User Datagram Protocol。面向无连接,不安全。UDP中,发送方无需知道接收方是否接受,只考虑将数据通过IP+port发送过去。此方法简单,经济。类:DatagramSocket: 数据通讯管道。方法:send,receive。类:DatagramPacket:集装箱,用于封装数据,加上目的地(IP+port)发送方代码:建立数据通讯通道,编写要发送的数据,创建集装箱对象,并给其目的地地原创 2020-08-18 16:37:39 · 162 阅读 · 0 评论 -
java 定时执行任务
java 定时执行任务固定某个时间,某个周期运行任务。1. Timer定时器封装与TimerTask类中。用法,继承TimerTask类,创建Timer对象timer,schedule()调度。2. Executor + 定时器调度ScheduledExecutorService类定时任务,周期任务。例:3个方法分别为:固定时间运行,固定速率,固定周期。均为先创建executor对象,再调用schedule,scheduleAFixedRate,scheduleWithFixedDela原创 2020-08-15 19:16:43 · 383 阅读 · 0 评论 -
java 并发协作控制
java 并发协作控制1. Lock可实现同步的效果;tryLock()可判断是否空闲。ReentrantLock类:可重入锁。ReentrantReadWriteLock类:可重入读写锁,允许多个读,一个写。lock(), unlock()方法。2. Semaphore信号量,是一个计数器,可以设置一定个数的并发量。方法:acquire()获取;release()释放。限定多少个信号量同时访问关键区域。3. Latch等待锁,是一个同步辅助类,用来同步多个任务。CountDown原创 2020-08-15 18:57:32 · 116 阅读 · 0 评论 -
Java 并发数据结构
java 并发数据结构并发数据结构在数据添加和删除时:阻塞式集合:当集合为空或满时:等待;非阻塞式集合:当集合为空或在满时:不等待,返回null或异常。1. List不安全:ArrayList();安全:Collections.synchronizedList(List list);CopyOnWriteArrayList, 读多写少。2. Set不安全:HashSet;安全:Collections.synchronizedSet(Set set);CopyOnWriteArr原创 2020-08-15 18:29:33 · 103 阅读 · 0 评论 -
java 并发编程框架
java 并发编程线程组管理Executor 框架Fork-Join框架线程组管理线程组:线程的集合大线程可包含小线程、可管理多个线程,但效率较低重复的创建线程和关闭线程可通过enumerate显示所有线程例:使用线程组创建10个线程,每创建一个线程,休息1秒。输出活跃的线程,所有线程列表。当活跃的线程数少于8个时,终止所有的线程。其中,Reacher类为实现Runnable接口的类,Result类为一个存储数据的类。package ThreadGroup;import ja原创 2020-08-15 18:17:40 · 158 阅读 · 0 评论 -
java多线程信息共享 & 多线程管理
java多线程信息共享 & 多线程管理信息共享多线程管理信息共享继承Thread的类通过static共享变量;实现Runnable接口的类私有变量即可。对于信息共享数据不一致的问题:1.副本变量用volatile关键字修饰;保证不同线程共享变量操作的可见性。2. 关键步骤加锁限制:互斥:某一线程运行时候,其他线程不可运行,采用:synchronized修饰。同步:各个线程按照一定的先后顺序执行。多线程管理其中关于线程间的阻塞/唤醒方法:sleep()wait(), noti原创 2020-08-15 16:12:17 · 133 阅读 · 0 评论 -
JAVA多线程
JAVA 多线程多线程概念线程的状态和生命周期线程优先级和调度实现多线程的方法线程的常用方法线程的同步线程的联合多线程概念进程:程序使用CUP资源运行的过程。线程:在一个进程中可以有多个线程,形成多条执行线索。线程之间可以共享某些内存,完成其任务。多线程:在一个应用中同时存在多个执行体,他们各自执行不同的任务。主线程:即mian方法下的线程,但是一个程序的结束是最后一个子线程的结束而结束,并不一定的main线程结束时。多线程优势:提高计算机系统的CPU利用率;提高程序的响应速度;改善程序原创 2020-07-20 19:18:15 · 203 阅读 · 0 评论 -
RandomAccessFile简介与使用
RandomAccessFile简介与使用参考:https://blog.csdn.net/qq_31615049/article/details/88562892。转载 2020-07-14 18:55:47 · 121 阅读 · 0 评论 -
java File类
java File类概述构造方法相关操作概述File 类:描述文件的外部信息(文件名,文件长度,所含文件个数 etc。)构造方法File(String path);File(String path, String name);File(String dir, String name);parameters:path:文件路径name:文件名或目录dir:已存在的磁盘路径相关操作1. 写数据FileOutputStream实现:FileOutputStream out; P原创 2020-07-13 19:06:51 · 84 阅读 · 0 评论 -
Java 对象的序列化
对象的序列化概念应用涉及的接口和类概念对象序列化:将对象写到输出流中。对象反序列化:从输入流中读取对象。应用调用远程方法:调用远程方法时,需要在客户机与服务器之间传递对象。对象的持久性保持:允许对象在创建他们的生命周期结束后仍然保存,供以后程序调用。涉及的接口和类对象的序列化必须是:实现接口Serializable的类的对象。Serializable:是一个空接口,没有语义和字段,仅用于标识可序列化的语义。序列化的类和方法是:ObjectOutputStream,WriterObject原创 2020-07-13 16:45:01 · 176 阅读 · 0 评论 -
连通性算法
连通性算法快速查找算法,快速合并算法,加权的快速合并算法,等分压缩算法。原创 2020-07-11 18:34:07 · 410 阅读 · 0 评论 -
java 菜单
java 菜单菜单组件:菜单栏(MenuBar,JMenuBar)菜单(Menu,JMenu)菜单项(MenuItem,JMenuItem)。JFrame jframe = new JFrame(); //创建菜单栏mb,并将其添加到窗口jframe中。MenuBar mb = new MenuBar();jframe.setMenuBar(mb);//创建菜单m,并将其添加到菜单栏mb中。Menu m = new Menu();mb.add(m);//创建菜单项mi,并将其添原创 2020-07-08 18:49:11 · 198 阅读 · 0 评论 -
Java 对话框
java 对话框对话框与窗口的区别:对话框的种类:对话框与窗口的区别:对话框不能自动实现菜单;对话框必须依赖于其他其他窗口才可实现。对话框可分为:有模式对话框,只让应用程序响应当前对话框内的事件,非模式对话框可响应窗体中的事件。对话框的种类:通用对话框:Dialog,JDialog。Dialog(Frame, boolean);//以指定父窗体和指定模式创建对话框Dialog(Frame, String, boolean);//以指定父窗,指定标题和指定模式创建对话框////以及其各原创 2020-07-08 18:22:35 · 1641 阅读 · 0 评论 -
java 运行管理-基础
java 运行管理-基础OS层管理JVM层管理java 安全策略JVM将.class文件加载到JVM Memory中,然后JVM里的执行机获取内存里的内容 — 获取字节码指令,并将其翻译为本地方法。然后执行。java运行逻辑架构可以抽象为:多个class文件在JVM上运行 -> 多个JVM在操作系统上运行。因此java程序可以分为OS管理和JVM管理。OS层管理进程级别的管理(黑盒),不知具体程序内部情况。管理CPU/内存/IO等具体的性能监控。Linux平台上:top命令,查原创 2020-09-19 18:55:14 · 174 阅读 · 0 评论 -
JVM 内存管理
JVM内存管理JVM内存分类JVM内存分类java 采用自动内存管理,程序员只需要申请使用,系统会自动检查无用的对象并回收。线程私有内存– 程序计数器(Program Gounter Register)– Java虚拟机栈(JVM Stack)– 本地方法栈(Native Method Stack)多线程共享内存– 堆(Heap)– 方法区(Method Area):包含运行时常量池。程序计数器(Program Gounter Register)–一块存储当前正在执行的原创 2020-09-19 11:10:09 · 105 阅读 · 0 评论 -
java 类加载器-基础
java 类加载器-基础类加载机制类加载器的双亲委托机制自定义类加载路径自定义类加载器类加载机制类加载器ClassLoader。– 负责查找,加载,校验字节码的应用程序。– java.lang.ClassLoader主要方法:load(String className),根据名字加载一个类。defineClass(String name, byte[] b, int off, int len),将一个字节流定义为一个类。findClass(String name),查找一个类。find原创 2020-09-18 16:43:24 · 302 阅读 · 0 评论 -
java 模块化基础
java 模块化基础模块化概述模块化创建模块信息文件(module-info.java)服务模块化概述JDK8以前的开发模式:java源代码以java文件(类、接口、注解等)形式存在。每一个java文件被放到一个指定的包中。多个class文件组成的类库通常以jar包呈现。jar文件无法控制外界对其内部public类的访问。等等。模块化必须遵守的三个原则。强封装性:一个模块必须能够对其他模块隐藏部分代码。定义良好的接口:模块必须向其他模块公开定义良好且稳定的接口。显示依赖:明确一个原创 2020-09-17 18:01:48 · 374 阅读 · 0 评论 -
java Stream 流
java Stream 流Stream 流流的创建流的转化Optianal流的计算Stream 流1. Stream的定义来自数据源的支持聚合操作的元素序列。即一个流对外提供接口,接收特定的数据。数据源:数据结构,数组,文件等。聚合操作:如filter,map,reduce。find,sorted等。许多流的操作返回也是一个流,且进行流操作时候,用户感知不到循环遍历。2. 流的工作流程流的创建。流的转换,将流转换为其他流的中间操作。流的计算结果。这个步骤之后,流就不能用了。流的创原创 2020-09-15 18:54:49 · 136 阅读 · 0 评论 -
java Lambda表达式
java Lambda 表达式Lambda表达式定义函数式接口方法引用Lambda 表达式:传递方法、代码块(函数式编程)。Lambda表达式定义Lambda表达式组成:参数,箭头,一个表达式或者多个语句。例子1:(String first, String second) -> first.length() - second.length()//形参可以不写类型。//一个形参可以不写括号,//没有形参就保留括号。//有return 或多个语句一定要接大括号。//单个语原创 2020-09-14 20:07:28 · 191 阅读 · 0 评论 -
java 嵌套类: Nested classes
java 嵌套类: Nested classes嵌套类分类静态嵌套类非静态嵌套类普通内部类: Common classes局部内部类: Local classes匿名内部类: Anonymous classes嵌套类:一个类定义在别的类的内部。嵌套类分类静态嵌套类层级和包围类的成员变量一致。public class Outer1{ String name; // 静态嵌套类 static class Inner1{ String name; }原创 2020-09-14 09:39:45 · 99 阅读 · 0 评论 -
java 注解: Annotation
java 注解: Annotation普通注解自定义注解元注解注解:位于源码中,用来修饰程序的元素,但不会对被修饰的对象有直接的影响。可增加程序的动态性。普通注解普通注解:为java代码所用的注解。@Override修饰方法,检查该方法是否是父类中继承而来。强制该类中的方法必须满足父类中的定义。避免代码错乱。@Deprecated修饰类、类的元素、包。标注该类、元素,包已经被废除。不建议使用。@SuppressWarnings可修饰变量、方法、构造函数、原创 2020-09-12 21:01:23 · 84 阅读 · 0 评论 -
java 代理
java 代理静态代理动态代理面向切面编程(AOP)代理模式:为对象包装一个代理,使得这个代理可以控制对目标对象的访问。外界通过代理对象间接访问目标对象。静态代理代理对象拥有目标对象的句柄。所有调用目标对象的方法,都通过调用代理对象来实现。对于每一个目标对象的方法,都需要静态编码。即在代理对象中实现。动态代理代理对象对目标对象方法的调用,都会被代理处理器动态拦截。再由代理处理器使用反射的方式来执行。代理处理器:持有目标对象的句柄。实现InnocationHandler接口:原创 2020-09-11 19:56:47 · 70 阅读 · 0 评论 -
java 反射基础知识
java 反射 基础知识反射:reflection反射关键类java 反射部分应用反射:reflection在运行中分析类。在运行中查看和操作对象。基于反射自己创建对象。调用不可以访问的方法。set或者get无法访问的成员变量。反射构建出无法直接访问的类。实现通用的数组操作代码。类似函数指针的功能。使用反射创建对象。newInstance, 调用构造函数。方法一:public class A{ public void hello(){ System.原创 2020-09-10 17:53:08 · 92 阅读 · 2 评论 -
java 泛型
java 泛型泛型概念自定义泛型设计范型类型限定泛型概念泛型: Generic Programming:编写的代码可以被很多不同类型的对象使用。泛型类:ArrayList, HashSet, HashMap等。泛型方法:Collections.binarySearch, Arrays.sort等。泛型接口:List, Iterator等。泛型的本质:参数化类型,避免类型的转化,代码可以重复使用。自定义泛型设计泛型类:具有泛型变量的类,在类名后用代替引入类型,直到创建对象的时候,确定具体的类原创 2020-09-09 19:22:57 · 89 阅读 · 0 评论 -
Mac软件损坏,无法打开,允许任何来源后依旧损坏
Mac软件损坏,无法打开,允许任何来源后依旧损坏[显示软件身份不明,无法打开或 软件已损坏](https://www.jianshu.com/p/e12dcce7600b?from=groupmessage&isappinstalled=0).设置任何来源之后,依旧出错显示软件身份不明,无法打开或 软件已损坏.设置任何来源之后,依旧出错...转载 2020-09-01 12:10:59 · 796 阅读 · 0 评论 -
java 调用命令行
java 调用命令行JAVA Runtime类java调用命令行1. java调用终端,使用命令"javac"2. java调用终端,使用javac编译helloWorld.java文件3. java调用终端,使用java运行编译好的helloWorld.class文件JAVA Runtime类1. exec以一个独立进程执行command,并返回Process句柄。Process类说明: https://blog.csdn.net/zhoulupeng2012/article/details/494原创 2020-08-27 19:09:20 · 1801 阅读 · 2 评论 -
JAVA调用C语言程序
JAVA调用C语言程序JAVA调用C语言程序1. 编写带有native声明的方法的Java类2. 使用javah 生成:jniSample.h的头文件3. 使用C实现本地sum方法:(这里我生成文件时候,误写了jinSample)。4. 将本地方法编写的文件生成动态链接库。5. 再次刷新项目,再使用jniSample.java文件运行代码,得到结果。JNI:java Native INterface:JAVA原生数据库java与C互操作C调用JAVA程序(基于反射的方法)JAVA调用C语言程序J原创 2020-08-27 13:42:00 · 2427 阅读 · 0 评论 -
java RMI
RMLRMI的参数和返回值。1. (自动化)传递远程对象(实现Remote接口)2. (自动化)传递可序列化对象(实现Serializable接口)多虚拟机JVM的程序运行– 启动多个main程序,这些程序可以部署在多个计算机上。– 多个进程可以通过网络互相传递信息进行协作。– 进程通过RMI可调用另外一个机器上面的java程序。RMI的参数和返回值。1. (自动化)传递远程对象(实现Remote接口)只传递参数,操作位于服务端,最后服务端返回处理结果。客户端:创建上下文对象。选择要访原创 2020-08-26 19:19:06 · 120 阅读 · 0 评论 -
Java 事件处理
事件处理哈哈哈,不敢啊。笔记做成这样。原创 2020-07-07 18:53:29 · 107 阅读 · 0 评论 -
java 内部类and匿名类
内部类内部类可以在类体中,或方法中声明。内部类中不可以声明static的变量或者方法。内部类的方法可以调用外部类的方法。public class Outer {//定义一个外嵌类 private int index = 100; int x = 10; class inner{//定义一个内部类 private int index = 50; public void print() {//定义内部类的方法 int index = 30; System.out.原创 2020-07-05 16:57:23 · 120 阅读 · 0 评论 -
Java 接口做参数,接口回调
JAVA接口做参数,接口回调接口做参数:将实现某接口的类的对象的引用用作参数传递给该接口参数。该接口通过回调来实现该接口方法。接口回调:实现某接口的类的对象的引用,赋值给该接口声明的接口变量。难以理解:看代码:// 接口回调与接口作参数示例interface SpeakHello // 接口SpeakHello{ void speakHello(); //接口中的抽象方法}class Chinese implements SpeakHello//实现接口的类Chinese原创 2020-07-05 15:53:33 · 3514 阅读 · 0 评论 -
java图形用户界面
Java图形用户界面图形用户界面设计:JFrame类标签图形用户界面设计:创建GUI组件的步骤:设计组件,合理布局 —> 定义界面上的响应。GUI支持的包AWT包:包含有基本组件类,布局管理类,容器类和接口类。Java.awt.Swing包:在AWT包的升级版本,javax.swing。GUI容器与组件组件不能独立的显示,必须要在容器上。Java的容器分为两种:顶层容器和中间层容器。顶层容器:可以独立浮动于屏幕上,GUI必有。JFrame:作为应用程序的主窗口;原创 2020-07-04 14:52:02 · 507 阅读 · 0 评论 -
Java输入输出流
Java输入输出流FIS,FOSBIS and BOSDIS and DOS字符流FIS,FOSFileInputSream and FileOutputStram.文件输入流和文件输出流。FIS(Read)int read(); //读取byte填充到int(32位)的第八位,没有时返回-1;int read(byte[] b); //从输入流中最多读取b.length()个字节到一个字节数组中,返回读取到字节个数;int read(byte[] b, int off, int len);原创 2020-06-30 20:08:19 · 104 阅读 · 0 评论