自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Java内存模型_JMM

多核并发缓存架构:CPU的效率会受限于RAM,所以便产生了上图的缓存架构;Java内存模型_JMM:如何来证明JMM的结构如上图所示呢?我们来看一个例子:输出结果:首先我们先来分析这个程序:依次启动两个线程,第一个线程执行完输出‘等待数据’之后,由于静态变量的值为false,则陷入了无线循环;第二个线程输出了‘准备数据’之后,将静态变量的值改为true,然后输出‘准备数据结...

2020-04-07 10:11:30 115

原创 JVM中堆内存的详细解析及优化

JVM中堆的结构:结构总共分为伊甸园区、Survivor区、老年代。默认情况下:老年代占2/3;伊甸园区占剩下1/3的8/10,具体如图所示。对象优先放在伊甸园区中,当伊甸园区放满之后,JVM会做minor GC(垃圾收集);Minor GC:如何寻找垃圾对象?可达性分析算法:找到非垃圾对象之后将其移到Survivor区,然后清理到伊甸园区的垃圾对象;Java对象头:分...

2020-04-06 16:43:18 360

原创 JVM 的基础知识

JDK的体系结构图:Java程序的执行过程:JVM的大致结构:1.类装载子系统 2.字节码执行引擎 3.运行时数据区接下里以Math测试类为例进行分析:1.在运行程序之后,JVM会在栈内存区域中分配一小块区域给当前线程使用:(意味着栈会为每一个线程分配一块独有的区域)2.在运行程序中的main方法之后,系统会分配给main方法一块内存区域(栈帧),用来存放该方法独有的局...

2020-04-06 14:56:08 147

原创 Mysql中的两种储存引擎

//存储引擎这个概念是用来形容每张表的;1.MylSAM存储引擎:使用MylSAM存储表,在文件中可以发现该表有三个文件组成:其中.frm结尾的用来记录表的结构;.MYD结尾的用来存储表中数据行的记录;.MYI结尾的存储表中的索引字段(B+树结构);查找的过程:eg: Col1=491.首先Col1是索引字段,从MYI文件中查找该索引是否存在;2.若存在,则按照从B+树的结构...

2020-04-04 10:55:48 118

原创 Mysql中索引的相关问题

索引是帮助Mysql高效的获取数据的排好序的数据结构;索引的数据结构:二叉树红黑树Hash表B-Tree以上图为例:若使用Col2作为索引,则可以根据二叉排序树更快地寻找的数据;但是若以Col1为索引(类似于自增/减的索引)则:此时的树状结构类似于链表,因此也并没有优化数据的查询速度,和没有创建索引逐行查找没有本质上的区别;此时若采用红黑树结构:由图可见红黑树也是一种二叉...

2020-04-04 09:31:04 80

原创 Spring MVC 中如何使用JSR 303实现数据校验

JSR 303:1.JSR 303 是 Java 为 Bean 数据合法性校验提供的标准框架,它已经包含在 JavaEE 6.0中;2.JSR 303 通过在 Bean 属性上标注类似于 @NotNull、@Max 等标准的注解指定校验规则,并通过标准的验证接口对 Bean 进行验证;Hibernate Validator :Hibernate Validator 是 JSR 303 的...

2020-03-01 11:13:46 639

原创 Spring MVC中如何进行数据格式化

案例需求:按照如图所示固定格式输入日期和工资的属性值来创建对象:案例实现:1.在Spring MVC配置文件中配置: <mvc:annotation-driven></mvc:annotation-driven>2.在员工实体类代码中增加@DateTimeFormat和@NumberFormat注解:同时使用pattern规定指定的输入格式: @DateT...

2020-02-29 20:12:45 146

原创 Spring MVC中关于@InitBinder注释

@InitBinder:1.由 @InitBinder 标识的方法,可以对 WebDataBinder 对象进行初始化。WebDataBinder 是 DataBinder 的子类,用于完成由表单字段到 JavaBean 属性的绑定。2.@InitBinder方法不能有返回值,它必须声明为void。3.@InitBinder方法的参数通常是是 WebDataBinder。测试代码:/*...

2020-02-29 14:03:09 135

原创 Spring MVC中关于mvc:annotation-driven

About<mvc:annotation-driven/>:三种情况:

2020-02-29 13:54:06 158

原创 Spring MVC中数据绑定流程原理及应用

数据绑定流程原理:① Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 DataBinder 实例对象;② DataBinder 调用装配在 Spring MVC 上下文中的 ConversionService 组件进行数据类型转换、数据格式化工作。将 Servlet 中的请求信息填充...

2020-02-28 15:01:26 560 1

原创 Spring MVC 中的 @ModelAttribute 注解以及源码的相关分析

为了更形象地引出 @ModelAttribute注解:下面来仔细看这两幅图:需求:对数据库中的表单信息进行修改(例如表单中有三项数据)现在只需更新其中的两项数据,第三项数据不变(即与数据库中的信息保持一致)1:通过new一个新对象实现更新操作:结果:第三项数据为null;2.从数据库中取出数据,在原来的基础上进行更新操作:结果:完美的实现了需求;下面来看代码:表单信息: ...

2020-02-24 21:55:39 140

原创 在Spring MVC 中处理数据模型的相关知识

1.ModelAndView/** 目标方法的返回值可以是ModelAndView类型* 其中可以包含视图和模型信息* SpringMVC 会把ModelAndView的model中数据放入到 request 域当中*/@RequestMapping("/testModelAndView") public ModelAndView testModelAndView() { Str...

2020-02-23 22:14:25 61

原创 如何通过shell脚本启动部署在服务器中jar包

#!/bin/bash#这里可替换为你自己的执行程序,其他代码无需更改APP_NAME=demo.jar#使用说明,用来提示输入参数usage() { echo "Usage: sh demo.sh [start|stop|restart|status]" exit 1}#检查程序是否在运行is_exist() { pid=`ps -ef | grep ...

2020-02-20 08:17:34 602

原创 插入排序算法(Insertion Sort)_Learning Algorithm

1.算法原理:(插入排序算法是每次将一个新数据插入到有序队列中的合适位置的一种算法)接下来我们来看伪代码:2.具体思路:(下面以升序为例)1.首先假设第1到 j -1 之前的元素为有序的,现需将第 j 个元素插入到合适的位置;2.因为单独一个元素一定是有序的,所以j从2到整个数组的长度开始外循环;3.在插入第j个元素的时候,首先将第j个元素(值为key)与第j-1个元素进行比较;...

2020-02-19 18:37:43 287

原创 在云服务器上部署基于Maven的Spring Boot项目

1.首先修改数据库连接的配置文件:主要修改username和password要和服务器上的数据库信息一致;2.其次修改自己项目的服务IP以及端口:(我自己采用的:serurl=127.0.0.1:8080)(注:这个端口就是项目配置成功后访问的端口)3.修改Maven的配置文件pom.xml:4.在这里特别注意:(可以通过打成war包或者jar包两种形式)**No.1通过war...

2020-02-19 16:16:28 272

原创 云服务器的相关配置(通过“宝塔”面板连接到云服务器)

1.重置百度云的主机登录密码(要记住)2.下载Xshell连接工具(直接百度就行,下面我给出一个我自己的安装地址)(http://www.downza.cn/soft/235505.html)3.安装成功后运行,根据向导填写协议选自SSH, 主机填写自己百度云实例上的公网IP,端口选择22:4.按照指引,输入自己的主机名称(linux系统上默认是root,密码为第一步重置的密码) ,确...

2020-02-19 14:08:53 580

原创 Spring入门2___对三种签名方式的理解

以HelloWorld为例开始我们的Spring征程:首先创建我们的HelloWorld类:package cn.zhang.hello;public class HelloWorld { private String username; public void setUsername(String username) { this.username = username; ...

2020-01-12 16:33:59 194

原创 Spring入门1___对Spring的认识

Spring入门1------对Spring的理解Spring是什么:1.Spring是一个容器;(重点理解)2.管理整个应用程序中所有的Bean生命周期和依赖关系;3.Spring是一个分层的一站式轻量级开源框架;Spring为什么出现:主要目的就是解决企业应用开发的复杂性也就是降低代码间的耦合度Spring怎么做:将代码分为主业务逻辑与系统级业务逻辑(交叉逻辑);降耦方式的...

2020-01-12 15:36:07 79

空空如也

空空如也

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

TA关注的人

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