自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

youchitang的博客

码畜的成长之路

  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 Tomcat启动报错:The CATALINA_HOME environment variable is not defined correctly

Tomcat启动报错:The CATALINA_HOME environment variable is not defined correctly我们安装完Tomcat后启动报错如上;第一反应是添加 CATALINA_HOME 环境变量出了问题,检查为如图在网上查了资料说是应该在路径中去掉 bin修改完成就可以正常启动 Tomcat了。注意:如果修改完成后还是无法正常启动的话,请确认是否重新启动命令行;...

2020-09-14 16:13:32 2986

原创 Liunx -报bash:....:command not found解决方法

Linux命令行报bash:…:command not found的解决办法一般出现这样的错误是因为你的 /etc/profile配置错了才会出现这样的错误;linux命名行输入命令执行后报:“bash:…:command not found” 这是由于系统PATH设置出问题了,PATH没有设置对,系统就无法找到精确的命令了;在命令行中输入:export PATH=/usr/bin:/usr/sbin:/bin:/sbin 这样可以保证命令行命令暂时可以使用。命令执行完之后先不要关闭终端。 再使用vi

2020-09-03 09:59:50 2282

原创 Java8新特性 -- forEach集合遍历

JAVA 8 新特性 – 集合遍历之forEach我们知道java 中的集合有两种形式:Collection、Map<K,V>Collection类型集合java7中对Collection的遍历有以下几种形式:List<String> list = Arrays.asList("a","b");//普通for循环for (int i=0;i< list.size();i++){ System.out.println(list.get(i));}//

2020-08-31 10:42:13 693

原创 linux学习 - 如何确定是否是 Centos 系统

linux学习 - 如何确定是否是 Centos 系统我们日常的工作与学习中可能对我们使用的 Linux 系统是哪个版本不太清楚,那么有么有一种方法可以查看到底是不是 Centos 系统的呢?答案是肯定的。以下的操作可在 centos 系统上实现,有些方式可能只适用 centos/redhad版本系统;uname -a | uname -r 查看内核版本信息[root@server26 ~]# uname -aLinux server26 2.6.32-696.16.1.el6.x86_64

2020-08-11 10:44:30 3171

原创 Maven学习 - Maven的认识与学习

Maven的认识与学习1、什么是 MavenMaven 是 Apache 下的一款开源软件,是用 java 开发的;Maven 是一款项目构建工具,帮助程序员进行项目的构建;项目构建工具用于帮助程序员完成一些辅助操作,如:创建目录、代码编译、代码测试、导包…常见的构建方式:Ant,也是 Apache下的一款开源软件;Maven 换一种方式去管理项目2、使用 Maven 后的变化项目结构不同了项目根路径|- src​ |- main​ |- java:存放java

2020-08-10 17:23:39 153

原创 开发 - 简谈前后端分离应用模式

前后端分离介绍1、web 开发方式:前后端分离在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染 HTML 页面,不再控制前端的页面的跳转。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,这些都是由前端自己决定,网页有网页的处理方式,App 有 App 的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。在前后端分离的应用模式中,前端与后端的耦合度相对较低。在前后端分离的应用模式中,我们通常将后端开发的每个视图都称为一个接口或者 API ,前

2020-08-10 10:56:59 400

原创 Linux学习 - Linux 中简析各个文件夹的作用

Linux学习 - Linux 中简析各个文件夹的作用/ 根目录 包含了几乎所有的文件目录。相当于中央系统。进入的简单方法是:cd /boot 启动系统的核心文件。bin 普通用户可以使用的命令的存放目录。系统所需要的那些目录都位于此目录;比如:ls、cp、mkdir、mv等;类似的目录还有 /usr/bin、/usr/local/bin等等,这些目录里的文件都是可执行的,普通用户都可以使用的命令,作为基础系统所需要的最基础的命令就是放在这里;lib

2020-08-05 17:06:39 196

原创 linux学习 - Linux 常用命令介绍

linux学习 - Linux 常用命令介绍以下为 linux 一些常用命令的介绍:yum 远程安装软件, yum install 包名 -yman 关于命令的帮助文档,有任何命令不知道怎么用的话,可以借助 man 命令进行学习。cd 切换目录ls 列表显示目录下的内容,语法是:ls [参数] [目录/文件]Linux中, 所有以.开头的文件都是隐藏文件, 可以通过-a参数查看所有文件(包含隐藏文件)-l参数表示长列表结构显示信息, ll命令是简化命令

2020-08-05 16:14:43 100

原创 Java基础-Integer的==和equals方法

Java基础-Integer的==和equals方法1、首先说下 equals 方法:​ equals 方法接受的参数为 Object 类型 equals(Object obj),首先会判断参数中的对象 obj 是否是 Integer 同类型的对象,如果是同类型的话再判断值是否相同,如果值也相同的话则返回 true, 值不同的话会返回 false,如果 obj 不是 Integer 类型的话,会返回 false;基本类型(值类型)之间无法使用 equals 进行比较;如果 equals 参数为值类

2020-08-05 10:37:28 2716

原创 Git学习 - Git修改commit的内容(包括历史版本)

Git学习 - Git修改commit的内容1、引言:场景一:有时候,我们提交了一个 commit 后,发现有些部分遗漏掉了,尤其是有的内容忘记添加到暂存区里了,导致这些内容没有被 commit ,但是如果把这些遗漏掉的内容作为一个新的 commit 再次提交的话就会显得很low 而且会有两个 commitId,其实我们可以把遗漏掉的内容提交到上一个 commit里;场景二:提交的commit 的 message 不够严谨,需要重新整理下;2、解决问题:针对场景一的话:我们可以:1、 git

2020-07-30 14:25:54 659

原创 Git学习 - Git优雅的提交你的修改

Git学习 - 优雅的提交你的修改git commit 命令详解:git commit file1.name file2.name file3.name … -m “commit message” commit 指提交修改到本地的仓库,file*.name 指的是需要commit的文件, -m后面的内容指的是提交的休息,即备注;git commit -a -m “commit message” 添加的 -a 参数会把当前暂存区里所有的修改(包括删除操作)都提交,但是那些尚未添加到暂存

2020-07-28 17:09:58 203

原创 Git学习 - Git的原理

Git学习 - Git的原理Git的四个区域:名词解释:Workspace: 工作区,就是我们平时放项目代码的地方;Index / Stage: 暂存区,用于临时存储你的改动,事实上它只是一个文件,保存即将提交的文件列表的信息;Repository:仓库区(版本库),就是安全存放数据的位置,这里有我们提交的所有版本的数据,其中 HEAD 指向最新放入仓库的版本;Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换;Git的工作流程:git的工作

2020-07-28 16:07:46 113

原创 Git学习 - Window下git配置文件的位置

Window下的git配置文件在哪里全局配置文件:通常我们会通过 git bash 来进行对我们的用户名和邮箱进行全局配置,通过如下命令进行设置:git config --global user.name "name"git config --global user.ermail email@xxx.comLitsoft@DESKTOP-IMIPJQ5 MINGW64 ~/Desktop/新建文件夹/office (jiangzy1-22)$ git config --global user

2020-07-28 10:35:30 933

原创 Git学习 - 将几个commit合并成一个commit

Git学习 - 将几个 commit 合并成一个 commit1、引言我们在开发一个功能的时候,你觉得自己开发完成了代码也没啥问题,就把代码 commit 到本地仓库后 push 到了远程 并发送了 merge request,但是你的领导 merge 的时候发现有问题需要修改代码,然后你就按照要求把需要修改的代码修改完成后又commit 然后 push了 ,然而这个时候又来了一封邮件,领导又给你提出了一些其他的问题需要你再次修改代码,这样来来回回你就提交了好几个commit,看起来比较杂乱不清爽。

2020-07-27 19:06:04 694

原创 Git学习 - Git stash 的用法

Git学习 - Git stash 的用法1、引言有时候我们会遇到这样的情况:比如正在 dev 分支上开发一个新的需求,需求开发到了一半,这时有人反馈有 bug 急需要处理,但是你的新功能做到了一半还不想提交,这时就可以使用命令 git stash 把当前进度(工作区和暂存区)保存起来,然后切换到另外分支去修改 bug ,修改完成后再 git checkout dev 回到 dev 分支,使用命令 git stash pop 来恢复之前的进度进行继续开发;2、如何使用1、先来介绍两个命令: git

2020-07-27 18:40:42 128

原创 Java对象在内存中实例化的过程

Java对象在内存中实例化的过程在讲 Java 对象在内存中的实例化过程前,先来说下在类的实例化过程中,内存会使用到的三个区域:栈区、堆区、方法区。堆区:存储的全部都是对象,每个对象包含了一个与之对应的 class 类的信息。jvm 只有一个堆区(steap),它会被所有线程共享,堆中不存放基本数据类型和对象引用,它只存放对象本身。栈区:每个线程都包含一个栈区,栈中只保存基本数据类型的值和对象以及基础数据的引用。每个栈中的数据(基本数据类型和对象的引用)都是私有的,其它栈是无法进行访

2020-07-27 15:08:52 6870 8

原创 IDEA 的 Debug 功能详解

IDEA 的 Debug 功能详解Debug 模式用来追踪代码的运行流程,程序中出现异常的话都是启用 debug 模式来分析异常发生的位置,以及运行过程中参数的变化,一般我们学习第三方框架的时候也是用 debug 模式跟踪代码;所以学习下如何在Intellij IDEA中使用好Debug,主要包括如下内容:一、Debug开篇二、基本用法&快捷键三、变量查看四、计算表达式五、智能步入六、断点条件设置七、多线程调试八、回退断点九、中断Debug一、Debug 开篇首先我们看下

2020-07-27 10:17:26 1366

原创 Git学习 - Git 新建分支以及提交代码到远端

Git学习 - Git 新建分支以及提交代码到远端1、打开 git bash 进入到当前项目所在目录2、命令:git status - -查看 Git 库的状态,未提交的文件分为两种:执行过命令 add . 后的就已经在缓存区了(代码未绿色的),未 add . 过的(红色)3、git checkout 分支1 :切换到分支14、git checkout -b sprint:新建本地分支 sprint 并切换到该分支5、git add . : 添加所有改动过的代码文件到缓存区6、git commi

2020-07-21 14:20:09 165

原创 Git学习 - Git Merge 冲突解决--流程

Git Merge 冲突解决–流程1、在自己的 branch 已经 commit 和 push 后发现 conflict首先先切换到 dev 分支上 执行 pull 命令再切换到你自己的分支 如:jiangzy1-18 上 执行命令: git merge dev使用命令: git status:查看有冲突的文件​ 如上:有问题的文件就是:Constant.java可以在你的 ide 中打开该文件:文件中会出现以下内容:​ <<<<<<

2020-07-21 11:11:20 1900 1

原创 SpringMVC日常学习总结

SpringMVC的学习总结1、SpringMVC 概述SpringMVC 可以被认为是 Spring 框架的子框架,SpringMVC 要想使用的话得需要依赖于 Spring,也可以说是 SpringMVC 是 Spring 容器的子容器;我们需要了解何为 MVC,它其实就是一种架构的模式;M: Module, 模型层,负责跟数据库进行交互的操作层,pojo、service、dao(mapper);V: View, 视图层,主要是进行数据的展现,负责跟客户进行交互,jsp、html、css、

2020-07-10 10:36:35 202

原创 Java中的监听器 - ServletRequestListener&HttpSessionListener

Java中的监听器 - ServletRequestListener在讲监听器之前我们先聊下:HttpServletRequest 和 ServletRequest 的区别:首先二者都是接口;HttpServletRequest 接口 继承与 ServletRequest 接口;HttpServletRequest 接口中比 ServletRequest 接口 多了一些针对了 http 协议的方法如:getHeader()getMethod()getSession()…1、Ht

2020-07-09 11:39:56 442

原创 Spring学习总结(最全)

1、Spring文档参考了: https://www.w3cschool.cn/wkspring/knqr1mm2.html1.1、简介Spring的理念:使现有的技术更加容易使用,本身是一个大杂烩官网地址:<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency> <groupId>org.springframework<

2020-07-06 18:44:35 910

原创 Mybatis学习总结-04

Mybatis学习总结-04学习的主要内容:Mybatis 的缓存机制Mybatis 的多表连接查询Mybatis 中常用的注解1、Mybatis 的缓存机制1.1、什么是缓存缓存是内存中开辟的一个区域, 用于存放一些数据(信息). 来提高数据的读取速度. 提高查询效率.1.2、Mybatis 对缓存的支持2.1、一级缓存一级缓存是基于 SqlSession 对象做的缓存,同一个SqlSession对象中, 对同一个id的查询, MyBatis会进行数据的缓存. 一级缓存默认开启.

2020-07-06 17:47:42 110

原创 Mybatis学习总结-03

Mybatis学习总结-03学习的内容:Mybatis 中的接口绑定方案实现Mybatis 动态 SQL 的使用1、Mybatis 中的接口绑定方案1.1、什么是接口绑定接口绑定,是 Mybatis 中提供的一种比较灵活的数据库操作方案,用于解决方法调用不灵活,参数传递不灵活的问题,通过接口绑定,还可以像之前使用 dao 一样去使用 Mybatis;和 dao 不同的是,在 Mybatis 的接口绑定实现过程中,程序员只需要提供接口,不需要提供具体的实现类。但是,需要提供与接口匹配的映射

2020-07-06 16:26:17 131

原创 Mybatis学习总结-02

Mybatis学习总结学习的内容如下:封装 MyBatis 简单工具类Mybatis 中带条件的查询通过 Mybatis 完成增、删、改、查等操作Mybatis 中类型别名的配置1、Mybatis 简单工具类的封装public class MyBatisUtil { // 声明工厂对象 private static SqlSessionFactory factory; // 通过静态代码块对工厂进行初始化, 只初始化一次 static {

2020-07-06 15:31:54 110

原创 Mybatis学习总结-01

Mybatis1、Mybatis - ORM框架(Object Relational Mapping):对象关系映射 可以简化数据库操作对象:指的是Java中的类Relational :指的是关系型数据库ORM: 指的是对象与数据库表格之间的对应关系2、Spring框架: 可以理解为是一个容器,用来装对象,是一个可以做对象管理的一个容器,一般用于整合其他的技术3、SpringMVC框架:一个分层的框架,主要对C层进行简化4、RABC,基于角色的访问控制,通过数据库表格的设计来进行权限的

2020-07-06 14:39:32 185

原创 解决新建的普通maven项目没有webapp目录

新建的普通maven项目没有webapp目录我们新建一个普通的maven项目步骤如下:项目建好后的目录结果如图所示:我们发现项目中没有webapp目录,以下是解决步骤:修改后的目录结构:以上就是当新建普通maven项目后目录结构中没有webapp目录的解决方法。谢谢~~...

2020-07-02 14:07:15 1282

原创 Java基础-虚拟机机和垃圾回收

虚拟机和垃圾回收1、Java程序执行流程.java----->(编译)----->.class----->(解释,通过虚拟机来完成)----->解释成机器码后再执行通过类加载器(ClassLoader)将 .class 文件加载到虚拟机(Java Vitual Machine JVM).JVM的组成部分:执行引擎(Execution Engine);本地方法接口(Native Interface);本地方法库(Native Libraries);运行时数据区

2020-07-01 17:29:09 157

原创 Java基础-简谈Java虚拟机

到底什么是Java虚拟机1、何为Java虚拟机:作为一名不是很合格的java程序员,我们每天都在写java代码,我们写好的java代码都是在一个叫做java虚拟机的东西上运行的,那什么是java虚拟机呢? 估计很少有人能够解释的清楚;先来看下网上对java虚拟机的解释:虚拟机是一种抽象化的计算机,通过在现实中的计算机上仿真模拟各种计算机功能来实现。Java虚拟机有自己完善的硬体架构如:处理器、堆、栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需要生

2020-06-30 12:54:21 211

原创 Java基础-简聊类与对象

简聊类和对象我们在了解类和对象前,先聊下面向对象程序设计,面向对象程序设计就是通过对象来进行程序设计,对象表示一个可以明确标识的实体,比如:一辆车、一个人、一朵花等等,每个对象都有它自己独特的标识:状态和行为;类:由N多对象,抽取出象的部分(简称抽象),像的部分包含(属性和方法)称为类的特征,然后再根据这个特征判断其它对象是否属于该类别;对象:对象是通过 new 关键字调用构造函数创建出来的。public class Phone{ // 手机的牌子 String brand;

2020-06-29 17:11:39 4636

原创 工作-如何快速的创建List

如何快速创建List数据结构我们在日常的开发过程中难免会要用到 List 数据结构,涉及到List时我们一般都是使用 new ArrayList(),然后再一个个的add对象,看起来很是繁琐,那么接下来就简单聊下几种创建 List 的方式;使用Collections.addAll()方法,前提仍然是先要 new ArrayList();ArrayList<String> list = new ArrayList();Collections.addAll(s,"hello","xiao

2020-06-29 15:54:23 743

原创 工作-启动项目端口号被占用

项目启动时报错:端口被占用报错信息:Web server failed to start. Port 8080 was already in use.原因:端口号8080被占用了。解决方案有两种:1、我们可以修改端口号可以在我们项目的配置文件中进行修改如:application.propertiesserver.port = 8088application.ymlserver: port:8088修改完之后我们再正常启动项目就不会报错了,tomcat运行在了端口8088上了。2

2020-06-29 15:38:13 417

原创 Java基础-数组的学习

Java数组1、数组的概述数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中每一个数据称作一个数组元素,每个数组元素都可以通过一个下标来访问他们。使用数组可以让我们的程序变的简单,避免定义多个重复的变量。2、数组的声明创建首先必须声明数组变量,才能在程序中使用该数组,下面是声明数组变量的语法:String[] args; // 首选的声明方式,推荐String args[]; // 不推荐Java语言使用new关键字来创建数组,语法如下

2020-06-28 18:33:49 136

原创 Java基础-递归思想的学习

Java递归如果是方法A调用方法B的话我们很容易理解。何为递归?递归就是:方法A调用方法A,就是自己调用自己。利用递归可以用简单的程序来解决一些复杂的问题,通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可描述出解题过程所需要的多次重复计算,大大减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。递归的结构包括两个部分:递归头:定义什么时候不调用自身方法。注意:如果没有头,将陷入死循环。递归体:定义了什么时候调用自身方法。

2020-06-28 17:54:03 197

原创 Java基础-方法&方法重载&方法重写

Java方法1、Java方法定义:何为方法?就是将一段实现了某个功能的代码进行的封装(也就是包装了),然后对外提供方法的名称,在使用时,直接使用即可;例如:public class Calc{ public static int add(int a,int b){ int sum=a+b; return sum; }}2、方法的详细说明:public:方法的权限修饰符,决定了方法的使用权限。static:该关键字决定了方法的使用方式,类名.

2020-06-28 10:56:46 192

原创 Java基础-枚举

Enum:枚举类1、使用 enum 关键字定义枚举类一、枚举类的使用1、枚举类的理解:类的对象只有有限个,确定的。我们称此类未枚举类。2、当需要定义一组常量时,强烈建议使用枚举类。3、如果枚举类中只有一个对象,则可以作为单例模式的实现方式。jdk 5.0后,可以使用enum关键字定义枚举类。(推荐使用,比较便捷)public class SeasonTest1{ public static void main(String[] args) { Season summer

2020-06-28 10:01:47 134

原创 Java基础-分支结构&循环结构&循环控制语句&二重循环

Java分支结构&循环结构&循环控制语句&二重循环1、分支结构1.1、单分支结构语法:if (条件表达式) { // 当条件表达式的结果为true时,执行语句 // 要执行的语句}public class Test{ public static void main(String [] args){ double a = Math.random() * 6; double b = Math.random() * 6;

2020-06-24 18:14:04 287

原创 Java基础-条件运算符

Java条件运算符Java 提供了一个特别的三元运算符(也叫三目运算符)经常用于取代某个类型的 if-then-else 语句是if…else的简写结构,运算顺序是从右向左。如:import java.util.Scanner;public class Test{ public static void main(String [] args){ Scanner input=new Scanner(System.in); System.out.println("请

2020-06-24 15:02:13 301 1

原创 Java基础-关系运算符&逻辑运算符

Java关系运算符&逻辑运算符java关系运算符:java关系运算符用于比较两个数值之间的大小,其运算结果为一个逻辑类型(boolen类型)的数据。关系运算符描述==等于!=不等于>大于>=大于等于<小于<=小于等于public class Test { public static void main(String[] args) { System.out.println("5.

2020-06-24 14:54:08 1259

原创 Java基础-赋值运算符

Java赋值运算符赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量 。执行顺序:从右向左赋值赋的其实是值的副本运算符运算例子结果=赋值a=1a=1+=加等于a=1; b=2 ; a += b;a=3, b=2-=减等于a=3; b=2; a -= b;a=1; b=2*=乘等于a=2; b=3; a *= b;a=6; b=3/=除等于a=3; b=2; a /= 3;a=1; b=2%=模等于a

2020-06-24 13:52:24 392

Java架构.jpg

Java程序员想要提高自己技术的可以按照图中所示进行提升。可以按照图中所示来让自己也称为架构师,只要沉下心来学习,一定会成功的,用一句话互勉:只要像狗一样的学习,总能出人头地。

2020-07-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除