后端技术
文章平均质量分 78
我有元气丹
永远的初学者,永远的菜鸟
展开
-
Spring data JPA入门
spring data JPA入门学习原创 2022-07-10 18:31:42 · 270 阅读 · 1 评论 -
json简介
json简介原创 2022-07-02 22:28:41 · 238 阅读 · 0 评论 -
elastic-search学习笔记
elastic初学原创 2022-07-01 22:51:15 · 734 阅读 · 0 评论 -
java进阶之synchronized锁
java多线程基础学习原创 2022-06-12 15:05:30 · 840 阅读 · 0 评论 -
swagger常用注解
接口框架swagger学习笔记原创 2022-06-08 07:21:16 · 2456 阅读 · 0 评论 -
java解析xml的4种方式
xml是一种常用的标记语言,可以用来传输数据,它的作用与json类似。不过当下web开发中前后台数据加护基本都使用json,但是在maven、spring的配置文件等方面,xml仍有广泛的使用。比如,saml协议中的数据表示就使用xml,当我们通过saml协议实现单点登录时,往往需要解析xml。以下是4种解析xml的方式:DOM即org.w3c.dom。操作xml会比较简单,就是将xml看作一颗树,用DOM描述这颗树的数据结构。但dom方式对大型xml文件效果可能会不理想。DOM和下面的SAX是java原创 2022-02-28 23:11:53 · 2038 阅读 · 0 评论 -
HeadFirst工厂模式
工厂模式(Factory Pattern)属于创建型模式,它提供了一种创建对象的较优方式,是 Java 中最常用的设计模式之一。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式有三种形式,分别是简单工厂、工厂方法、抽象工厂。背景有个35岁的码农因为疫情被裁员,就琢磨做点小生意。刚好上海有很多外国人,该码农灵机一动,想开家Pizza店,用以谋生。Pizza店初期试水阶段主要卖两种产品,CheesePizza 和 GreekPizza 。P原创 2021-12-24 23:09:01 · 336 阅读 · 0 评论 -
Java内存结构简介
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途,以及创建和销毁的时间。有的区域随着虚拟机进程的启动存在,有些区域依赖用户线程的启动和结束而建立和销毁。当我们调用 Java 命令运行某个 Java 程序时,该命令将会启动一条 Java 虚拟机进程,不管该 Java 程序有多么复杂,该程序启动了多少个线程,它们都处于该 Java 虚拟机进程里。同一个 JVM 的所有线程、所有变量都处于同一个进程里,它们都使用该 JVM 进程的内存区。类的加载类原创 2021-12-19 21:21:58 · 1085 阅读 · 0 评论 -
Java基础之String与Integer常量池
String常量池String类型是对象类型,但它是一种非常特殊的类型。因为String类型使用的非常多,因此Java标准中引入了String常量池,我估计引入常量池的一个目的是节省节省字符串占用的内存。常量池对String变量的影响首先来看一段代码public static void main(String[] args) { String s1 = "Hello"; String s2 = "Hello"; String s3 = "Hel" + "lo"; St原创 2021-12-19 14:42:19 · 736 阅读 · 0 评论 -
Java类的初始化顺序
结论在刷Java基础题时,碰到类的加载顺序题目,总是被各种成员变量和方法的初始化搞得一脸懵逼。因此仔细研究了一下各种父子类中各种成分的加载顺序。顺序如下父类的静态成员变量父类的静态代码块子类的静态成员变量子类的静态代码块父类的普通成员变量父类的一般代码块父类的构造方法子类的普通成员变量子类的一般代码块子类的构造方法代码Talk is cheap, show me the code!package javaBases.oo.initialization;/** * @De原创 2021-12-16 23:06:50 · 382 阅读 · 0 评论 -
Java多线程与锁基础
多线程概念**进程与线程:**进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源。因为某些资源共用,无须重新加载,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。多线程就是多个线程同时运行或交替运行,多线程可以充原创 2021-12-15 08:03:58 · 153 阅读 · 0 评论 -
JVM常用调优命令
jps说明:查看jvm中的进程,类似于Linux的ps -ef用法jpsjconsole说明:一个jvm GUI监视工具,在命令行中直接用此命令会启动GUI工具,之后选择进程用法jconsolejinfo说明:查看当前Jvm进程的配置参数和进程属性用法jinfo pid 查看指定pid的jinfo该命令具有不少可选参数,具体请查阅相关资料jmap说明:查看进程的堆配置与内存使用情况用法jmap -heap pid 查看pid的堆配置该命令有很多可选参数jstat原创 2021-12-15 07:29:28 · 571 阅读 · 0 评论 -
java基础之Stream
Java基础之stream1 流的概述Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream 接口API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。stream对象的操作主要有以下几种无状态:指元素的处理不受之前元素的影响;有状态:指该操作只有拿到所有元素之后才原创 2021-11-30 23:55:35 · 229 阅读 · 0 评论 -
最常用linux命令——血泪总结
作者大学是非计算机专业的,之前未接触过linux,最近因工作开始接触到一点linux。本人比较菜,目前从事的工作也比较初级,本文的这些linux命令都是比较初级的,不过却刚好可以覆盖本人当前阶段的使用。至于一些比较比较高级的命令,例如网络、进程、文件管理的,本人也仍在学习。本文会随着本人学习linux的深入,持续更新。本文主要参考文献来自于平时的百度或谷歌检索,以及《鸟哥的Linux私房菜》一书。学习Linux系统,必须有一台安装了Linux的电脑可供使用。可以在自己的电脑上安装虚拟机,例如VMwar原创 2021-11-26 23:27:39 · 961 阅读 · 0 评论 -
Docker的使用经验
1 确定安装什么版本目前,CentOS仅发行版本中的内核支持Docker.Docker运行在CentOS7上,要求系统为64位、系统内核版本为3.10以上.Docker运行在CentOS-6.5或更高的版本的CentOS上,要求系统为64位、系统内核版本为2.6.32-431或者更高版本.Docker要求CentOS系统的内核版本高于3.10,查看本页面的前提条件来验证你的CentOS版本是否支持Docker.cat /etc/redhat-release 先查看cenos版本Uname -原创 2021-06-14 16:40:23 · 106 阅读 · 0 评论 -
JavaWeb之Cookie与Session简介
Cookie和Session的前世今生Web中的Cookie和Session待补充Session的创建我们以一个简单的springboot程序来做实验探究Session对象的产生。@Controller@RequestMapping("/hello")public class CookieSessionTest { @RequestMapping(value = "/session", method = RequestMethod.GET) @ResponseBody原创 2021-11-17 23:51:54 · 214 阅读 · 0 评论 -
java基础之IO
java基础之IO1 文件的基本概念1.1 路径在IO中,常用到路径的概念,有以下几种路径:c:\temp\file.txt.\file.txtc:\temp\MyApp\bin…\file.txt第一类,属于路径,绝对路径,规范路径 (CanonicalPath)第二类,属于路径,相对路径(Path)第三类,属于路径,绝对路径 (AbsolutePath)下面的示例代码清楚的展示了java中这三类路径的区别/* -------这是一个相对路径的代码------- */File原创 2021-10-06 20:00:18 · 163 阅读 · 0 评论 -
正则表达式
java.util.regex包在支持正则表达,在regex包中,包括了两个类,Pattern(模式类)和Matcher(匹配器类)。Pattern类是用来表达和陈述所使用搜索模式的对象,Matcher类是真正影响搜索的对象。1 校验字符串的静态方法判断字符串中是否包含runoob的子串,可以使用如下的代码 String content = "I am noob " + "from runoob.com."; String pattern = ".*runoob.*";原创 2021-09-27 23:32:39 · 72 阅读 · 0 评论 -
java内部类
1 内部类的定义内部类是定义在另一个类中的类。一般来说,内部类继承自某个类或实现某个接口,内部类的代码操作创建其的外围类的对象。所以你可以认为内部类提供了某种进入其外围类的窗口。以下范例代码中默认省略getter和setter。内部类可以访问自身的数据域,也可以访问所在外围类的数据域。内部类对象有一个隐式引用,指向创建它的外部类对象。public class OuterClass { private String name ; private int age; class Inner原创 2021-09-24 00:08:20 · 69 阅读 · 0 评论 -
Java泛型基础
1. 为什么要使用泛型?设想你有很多数字要进行排序,你选择把数字先放到下面的集合中ArrayList list = new ArrayList();你当然可以往里面加数字,但你添加字符串编译时也不报错,可是list里面有字符串显然不是你想见到的。list.add("hello");JVM虚拟机在执行排序时当然无法把数字与字符串排序,会产生一个运行时错误(运行时才能发现),这使你无法完成对数字的排序。要是能在编译时就发现错误就好了,怎么实现呢?面对这个问题jdk1.5提出的泛型发挥了作用,如下创原创 2021-07-11 20:36:43 · 69 阅读 · 0 评论 -
linux基础命令
一 环境准备购买与服务器/VMware+linux系统 /直接Linux电脑Xshell连接远程服务器Xftp用于本地windows和linux之间上传文件二 基本命令常用快捷键tab键 命令后双击按tab,可补全命令Ctrl+c 终止当前程序Ctrl+d 退出系统Q 终端出现end无法退出时按q命令行一般操作clear 清理界面Mysql 可直接进去Mysql数据库命令(该命令前提已启动Mysql)Date 查看日期Cal 显示日历Bc 进入计算器切原创 2021-07-09 08:15:52 · 179 阅读 · 0 评论 -
学生管理系统数据库设计
引言科学技术的进步和生产的发展使人类知识总量的增长不断加快,生产社会化趋势的扩大和社会对产品需求的多样性使得组织在营运活动中所涉及的内部和外部信息量迅速地膨胀起来。面对激烈的市场竞争,人们对这些信息进行收集、加工、传递等过程的时间性和准确性提出了更高的要求。这一切使得传统的手工作业为基础的信息系统陷入了机构日益庞大,效率日益降低的困境。电子计算机的出现为摆脱这种困境找到了出路。计算机用于管理信息处理的突出优点是迅速、准确、可靠、具有很大的存储能力,适应于管理信息量大、面宽的特点,适合于管理信息处理及时、准原创 2021-07-04 15:55:10 · 25369 阅读 · 4 评论 -
java基础之异常处理
**异常作用:**在运行java代码时,如果有错是无法编译成功的,IDE会给出一串错误说明;如果编译通过,程序运行过程中,JVM检测出一个不可执行的操作,会出现运行时错误,IDE也会给出错误说明;这就是java异常类的作用。异常分类:java中的异常都是继承自Throwable类,Throwable类e的两个子类为Error与Exception。Exception有一个子类RuntimeException,它描述的是程序设计错误 。RuntimeException、Error以及它们的子类都称为免检异常;原创 2021-05-28 23:08:51 · 99 阅读 · 0 评论 -
java基础之反射
反射用途主要用来创建框架或者工具,而不是Web应用程序。java类的生命周期java文件–>编译得到class文件–>类加载器把class文件加载到内存–>创建对象,运行时状态–>程序终止,死亡Class类在程序运行期间,java运行时系统始终为所有的实例对象维护一个称为运行时的类型标识,这个类型标识可以追踪每个实例对象对应的java类。java中有一个Class类,专门保存java类中的信息,比如域变量、构造器、方法。虚拟机可以利用对象运行时的类型信息,选择相应的方法执行原创 2021-05-28 22:59:30 · 47 阅读 · 0 评论 -
Java基础之Lambda
什么是Lambdalambda表达式是java提供的一种语法糖,我理解的语法糖就是简洁编码形式,比如,增强for这个语法糖就是普通for循环的简洁形式。lambda采用函数式编程来简化java代码的编写。语法参数,箭头(->) 以及一个表达式或语句块。本质上lambda表达式是一种匿名方法。下面是一个lambda的例子public int add(int x, int y) { return x * y; }转成λ表达式后是这个样子: (int x, int原创 2021-05-24 23:52:23 · 335 阅读 · 0 评论 -
java基础之枚举类
一 枚举类型引入与定义有时候,变量在有限几何内取值。比如:销售的服装通常有S、M、L、X等类型,如果直接定义服装类型为字符型,变量中可能就会保存错误的值。针对这种情况,java提供了枚举类型。public enum Size{SMALL, MEDIUM, LARGE, EXTRA_LARGE;}之后便可通过枚举类名引用枚举常量Size s = Size.SMALL;可以给枚举类加标识符和构造器public enum AuditState { SAMLL(1), ME原创 2021-05-24 23:03:10 · 299 阅读 · 0 评论 -
如何把项目托管到github及合作开发
命令行推送项目1 假如我要把我的community项目放到github,就在community文件夹中打开Git Bash Here。2 git init 命令把这个文件夹变成Git可管理的仓库,生成一个默认的.git文件夹(可以在本地新建README.md)3 git add . 命令把项目添加到本地仓库4 git status 查看状态5 git commit -m “first commit” 把项目提交到仓库,-m后面引号里面是本次提交的注释内容,不写可能会报错。6 可以设置SHH k原创 2021-02-02 19:47:49 · 336 阅读 · 0 评论