java基础
文章平均质量分 77
coffee_mao
不忘初心 ,善始善终
展开
-
集合的使用
首先按照数组元素的第一个值进行降序排序,如果第一个值相等,则按照第二个值进行升序排序。队列数组,一维数组中存储的是队列,队列中存储字符初始化 ,并且添加新的元素数组静态内部的类,长度不可变,重新构造之后,移除元素出现数组 长度动态修改结果一定是类型擦除结果是PriorityQueue优先队列stream结果依次是 字符串分割后的数组转为集合 集合并行流过滤出字符串长度大于的数目 集合并行流去重后集合的数量 集合并行流处理后将字符串映射全大写的,在映射为字符串的长度,收集为集合返回 集合原创 2023-11-29 22:05:22 · 215 阅读 · 0 评论 -
JavaEE面向对象编程【持续补充完善】
仓库集合使用可见性的关键字进行修饰,针对删除和增加货物的方法使用锁的关键字进行修饰。添加其他线程的唤醒功能,优化体验感。增加了一个队列节点的类,维护的是节点和对应深度的关系,统计的是当前节点和其深度,广度优先搜索一但节点的左右子树为空,那么此节点的深度就是二叉树的最小深度。的工具类,将字符串进行翻转,对比去重之后的字符是否一致,既可得知操作之后是否是回文串。编写深度优先搜索的算法,在遍历每一个节点时候对比深度信息,对最小深度变量进行更新。中填充的的是当前线程的变量,该变量对其他线程而言是封闭且隔离的,原创 2023-03-14 23:15:30 · 513 阅读 · 0 评论 -
Go安装和配置以及基本框架的配置
安装之后查看是否安装成功,使用命令。命令速度很慢,无法访问,需要设置代理。在国内放完外网速度很慢,在使用。在到编辑环境变量中设置进行添加。,囊地鼠,是北美的一种地鼠。内存管理,数组安全,编译快。的发明者之一,贝尔实验室。(罗伯特.格利茨默)原创 2022-12-14 21:41:51 · 294 阅读 · 0 评论 -
精确的数据类型BigDecimal和工具类
位有效位的数进行精确的运算,因为在现实生活中,财务、超市、银行使用基本的数据类型浮点数的时候只满足。定义了很多的有参构造函数,十分的丰富,省略了无参构造。类,实现了比较器的接口,用来对超过。时候,输出结果不可预知,因为。的构造器是可预知的,是准确的。无法准确的表示有限长度的。位就会出现精度上的丢失。的构造器中传入浮点数。原创 2022-12-08 16:32:16 · 899 阅读 · 0 评论 -
期末复习-软件体系结构
软件重用是按照的,以的软件构件进行组装软件系统的过程。一个重用驱动的软件开发过程描述了如何组装可重用构件建立软件系统,以及如何建立和管理可重用构件。模型代表的是概念,内容,语境构件概念是对构件做什么描述,构件内容是构件如何被实现,构件语境是可重用构件应用的领域,主要用于形式化的描述方法模型在描述函数型或者过程型软件构件,采用三元组描述在面向对象的软件构件来说,采用四元组刻画分类的模型,只允许按照给定的刻面架构描述已有的软件构件,适合非形式化方法青鸟构件模型外部接口和内部结构组成对应的概念和语境外部接口,构件原创 2022-12-03 21:05:28 · 2163 阅读 · 0 评论 -
Python-可视化单词统计词频统计中文分词
新建一个文件,输入文件的内容,查询此文件中关键字的出现的次数,关键字出现的位置,将所有的文本按照中文分词的词库进行切割划分,返回。每一个分词作为字典中的键,出现的次数作为字典中的值。将输入的文件内容写入新建好的文件中,点击新建文件按钮,弹出提示框“文件建立成功”,完成后。键值的添加,获得文件中相同字符出现的次数有word这个分词时,时返回其值,默认是。给定单词计数,输入一个不含空格的单词,统计输出该单词在文本中的出现次数。新建指定文本文件,输入一个文件名,以及里面的文件内容建立一个文本文件。原创 2022-11-29 19:57:05 · 1794 阅读 · 2 评论 -
Gof23-创建型-工厂-单例-抽象工厂-建造-原型以及UML的绘制
具体实现,创建一个接口,创建多个接口的实现类,重写实现对应的方法,创建一个工厂类,工厂类中实现方法传入类型生产对应的接口实现类,返回接口,编写测试方法,new一个工厂传入多个类型就可以生产对应的产品了。例如,人包含头、躯干、四肢,它们的生命周期一致。适用的场景:统一的接口作为统一的零件,实现类作为零件的组合,将实例产品类的生产交给工厂,用户只需要面对工程提取指定的产品。存在问题,如果在Hungry的代码中加入一下代码,那么在类初始化时候,占用了这些空间,但是没有使用,就造成空间资源的浪费。原创 2022-11-26 22:25:38 · 723 阅读 · 0 评论 -
注解和反射
对比正常使用创建对象,反射创建对象,设置可见性的方式对比性能,结果发现new方式创建对象的方式最快,反射创建对象的时间最长,关闭检查,性能可提高一倍。写在程序之中,程序可以识别,做出相应的动作处理,具有检查和约束程序的作用。写在程序之中,供人参考,提示使用,程序会自动忽略。对象,一个类被加载之后,类的整个结构都会封装在。反射获取到类对象,创建实例,获取到方法的。元注解就是可以负责注解其他的注解。表示在什么级别保存该注解信息。说明子类可以继承父类中的注解。,一个类在内存中只存在一个。激活,对对对象设置值。原创 2022-11-15 22:21:00 · 3640 阅读 · 0 评论 -
Linux程序编译的过程
sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。c,c++代表的高层语言编写的程序在转化成为处理器可以识别并且执行的二级制代码的过程。动态链接,在链接阶段,把需要的动态库加入到内存中去。反编译ELF文件,可以查看ELF文件的指令和数据。编译,将预处理生成的我呢间编译成汇编文件。文件,就是执行连接格式的可重定向文件。,汇编之后停止,生成目标文件。的密码,su 命令需要输入。运行库 语法 + 标准库。原创 2022-11-14 16:39:44 · 866 阅读 · 0 评论 -
由浅到深的操作系统学习
是系统中多个进程并发执行时,由于资源占有和请求引起的一种进程永远被阻塞的状态的现象,就是进程之间持有自己的资源不愿放手,又要请求其他进程的资源满足自己的需要,造成的一种无解的,互相一直僵持的状态。4、一个进程调用一个过程的时候,始终在用户模式下的,在用户进程调用一个系统调用的话,就会发生模式的切换以及在系统调用返回的时候,会再次进行模式的切换。当一个进程被交换到磁盘中时,就处于挂起的状态。3、过程的调用始终在一种模式下进行的,不会发生进程的切换和进程状态的切换,系统调用是会引起进程的切换和状态的切换。原创 2022-11-12 22:13:35 · 743 阅读 · 0 评论 -
深入理解Java虚拟机
沙箱,沙箱就是一个限制程序运行的环境,将java代码限定到指定的虚拟机的特定运行范围中,严格控制它对资源的访问,确保对代码的有效隔离,防止恶意代码对本地系统的破坏。方法区属于共享的区域,存储静态变量,常量,类信息(构造方法,接口定义),运行时的常量池存在在堆内存中。标记需要回收的对象,标记完成之后,统一回收所有被标记的对象,也可以反过来,先标记存活的对象,统一回收未标记的对象。先进后出,主管程序的运行,生命周期和线程同步,线程结束,栈内存就释放,对于栈,不存在垃圾回收。结果如下,可见,一个类的多个对象的。原创 2022-11-09 22:08:56 · 761 阅读 · 0 评论 -
java面试基础知识
java学习011、java 概述2、DOS常用命令3、jvm jre jdk关系4、系统环境变量5、java的运行机制6、java的注释7、java的关键字8、java 标识符及其命名规范9、java 变量的数据类型及其转化10、java 运算符及优先级11、java 方法的定义12、结束1、java 概述Java是一种通用的,基于类的,面向对象的编程语言。2、DOS常用命令盘符切换命令 盘符名:查看当前文件夹命令 dir进入文件夹命令 cd 文件夹名 加上Tab自动补全退出文件夹命令原创 2021-09-01 17:31:31 · 230 阅读 · 0 评论 -
线程创建以及生产者与消费者和八锁问题
线程Thread 的三种创建与应用java 三种线程的创建1、Thread类2、Runnable接口3、Callable接口三级目录java 三种线程的创建1、Thread类三部曲:①继承Thread类②重写run()方法③创建该线程的实例,调用start()方法开启线程具体实现如下:package demo.thread;// 继承Thread 类public class thread01 extends Thread{// 重写run()方法 @Override原创 2021-10-22 22:48:05 · 149 阅读 · 0 评论 -
三天打鱼两天晒网
三天打鱼两天晒网1、问题分析1.1 算法分析2、概要设计3、测试4、调试5、源码6、心得体会1、问题分析中国有句俗语叫“”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。1.输入数据的正确性验证。2.使用文件进行数据测试,并将结果输出至out.txt文件。1.1 算法分析(1) 定义一个fishNet的类,包含了计算闰年判断函数,计算的总天数,前三天打鱼后两天晒网的函数1.1先输入三个变量分别代表年、月和日。1.2 public int al原创 2021-03-22 18:32:04 · 93 阅读 · 0 评论 -
计算机网络
计算机网络复习原创 2021-12-05 16:23:37 · 760 阅读 · 0 评论 -
java集合
hashSet 和 hashMap 区别1、hashSet 和 hashMap 区别1、hashSet 和 hashMap 区别原创 2021-09-28 23:16:43 · 60 阅读 · 0 评论 -
2021排序算法
排序排序冒泡排序排序冒泡排序冒泡排序的核心算法// 冒泡排序 public int[] bubbleSort(int[] array){ int temp = 0;// 临时变量 // 第一次循环遍历之下进行第二次遍历,比较相邻的元素。如果第一个比第二个大,就交换他们两个。一次 i 下,会找到没有排好序的最大的那个元素,将它的位置排好。 for (int i = 0; i < array.length; i++) {原创 2021-10-23 22:52:42 · 150 阅读 · 0 评论 -
XN*2图灵机-2021-04-12
对于XN*2图灵机进行模拟1. 算法分析利用java程序实现图灵机XN * 2首先需要完成数的进制转换,在static StringBuffer transform(int number)方法中将输入的十进制数转化为二进制原码的字符串,将1变为10,0 变为0,逗号变为110,并且返回一个要进行改编的代码。2) 在static void Calculate(StringBuffer coding)方法中,将1)得到的编码按照如下规则进行变化内态:0,输入为0----内态:0,输出为0,右移;内态原创 2021-04-12 22:33:42 · 193 阅读 · 0 评论 -
数据结构---线性表
线性表原创 2022-04-11 21:52:35 · 271 阅读 · 0 评论 -
javaweb
JavawebHTML、CSS、JavaScriptjspjsp九大内置对象jsp四大作用域javaBeanJDBCServlet、Filter、listenerservletHTML、CSS、JavaScript超文本标记语言(HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。运行在浏览器上,由浏览器来解析。HTML:提供一种格式化文档的方法,不是编程语言,不是数据描述语言,不能提供数据的结构。 使用标记标签来描述网页HTML文档,文档包含了H原创 2021-12-16 17:50:19 · 2002 阅读 · 0 评论 -
函数式接口
java函数式四大接口原创 2021-12-30 17:23:00 · 268 阅读 · 0 评论 -
HashMap和红黑树B树B+树
node 默认大小 16HashMap 内部存储结构静态内部类 Node implements 了 Map 接口内部的接口在JDK1.8之后,java对HashMap做了改进,当链表的长度大于8的时候,后面的数据存储在红黑树中,以便加快检索的速度负载因子:默认值为0.75大于大于小于本质上是一个二叉查找树,在二叉查找树基础上,增加了着色和相关的性质使红黑树相对平衡,从而保证了,query,insert,delete的时间复杂度最坏为O(log n), 加快检索速率。.....原创 2022-03-29 12:29:32 · 574 阅读 · 0 评论 -
hashcode讲解【最详细版本】
Object 基类Object 含有的方法hashCode作用:用于查找的快捷性,常用于确定对象的存储地址如 Hashtable,HashMap默认情况下,Object中的hashCode() 返回对象的32位jvm内存地址。如果两个对象相同, equals方法一定返回true,并且这两个对象的HashCode一定相同两个对象的HashCode相同,并不一定表示两个对象就相同,即equals()不一定为true,只能说明这两个对象在一个散列存储结构中,所以当产生哈希冲突时,还得通过 equ原创 2022-03-29 12:54:01 · 1150 阅读 · 0 评论 -
MYSQL基础知识和普及
因为 MySQL插件式存储引擎结构的结构体系关系,MySQL对数据的存储按照表进行存储的,每个表都会有与之对应的文件,无论存储引擎是什么,都会生成一个.frm的定义表结构的文件,它还用来存储视图的定义。原创 2022-06-03 13:33:52 · 986 阅读 · 0 评论 -
java 学习记录和谷歌书签栏
https://www.jetbrains.com/jdk11jdksopenjdk11https://maven.apache.org/download.cgihttps://tomcat.apache.org/https://developer.aliyun.com/mirror/https://mirrors.huaweicloud.com/homehttps://mirrors.huaweicloud.com/kibana/?C=N&O=Dhttps://mirrors.huawe原创 2021-12-30 16:59:17 · 442 阅读 · 0 评论 -
面经_黑盒测试与白盒测试
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试。软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序的所有逻辑路径进行测试,通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试。原创 2022-09-05 23:07:57 · 348 阅读 · 0 评论 -
栈和队列定义和应用
栈【Stack】在一端并且是同一端进行插入或者删除的线性表,可以使用数组或者链表实现,遵循的是FILO先进后出,或者是后进先出的原则,在现实生活类似肠子就是线性表,吃完就吐就是栈。队列【Queue】在一端进行插入,另外一端进行删除的线性表,可以使用数组和链表实现,遵循FIFO先进先出的原则。在现实生活类似肠子就是线性表,吃完就蹲坑就是队列。代码定义栈int top;50int top;队列50。原创 2022-10-26 08:33:04 · 397 阅读 · 0 评论 -
Java多线程和JVM
实现Callable接口,实现call()方法,将call()方法作为线程执行体,其中call()具有返回值,然后创建该类的对象,使用FutureTask类包装该Callable对象,得到FutureTask的对象,将它作为Thread类的参数创建新对象,并且启动线程。实现Runnable接口,重写闰run()方法,run()是线程的执行体,常见该类的对象,将此对象作为创建的Thread类的参数,得到线程对象,线程对象的start()方法开启线程。下载电影时,好几个段同时下载,保证下载速度的最大化。原创 2022-10-10 20:52:25 · 393 阅读 · 0 评论 -
128陷阱
源码首先明白 int 是基本数据类型,Integer是引用数据类型,int —> Integer 是自动装箱,Integer—>int 是自动拆箱。原创 2022-09-01 09:16:28 · 90 阅读 · 0 评论 -
设计模式之单例模式【最详细的版本】
会选择尽量选择执行快的,效率高的代码片段优先执行,单线程下指令重排序不会产生问题,但是在多线程下,一定会存在问题,因此要禁止指令重排序。字节码文件,可以发现生成的是一个有参构造器,因此,在反射破坏时候,需要传入对应的字节码文件,可以看到如下结果,符合预期源码异常。饿汉式单例,类加载时就初始化,一旦在类初始化的时候new出了多个空间,但是并没有使用,就造成了内存的浪费。方法上面加锁,上来直接锁住,保证多线程下的安全,但是效率很低,99% 情况下不需要同步。第一次调用才进行了初始化,减少了空间内存的浪费。原创 2022-09-09 23:53:24 · 167 阅读 · 0 评论 -
ThreadPoolExecutor
在人工手动的给线程池提交任务之后,线程池会先判断核心线程数是否已满,如果没满,就创建新的线程,执行任务,如果核心线程数满了,就判断工作队列是否已满,如果没满,就将任务添加到工作队列中,等待调用。(核心工作线程数):当向线程池提交一个任务时,若线程池已创建的线程数小于corePoolSize,即便此时存在空闲线程,也会通过创建一个新线程来执行该任务,直到已创建的线程数大于或等于corePoolSize时。因为多个任务的执行需要多个线程的处理,但是频繁的创建线程和销毁线程会造成资源的消耗和时间的浪费。原创 2022-11-07 21:12:22 · 266 阅读 · 0 评论