- 博客(24)
- 资源 (1)
- 收藏
- 关注
翻译 2020-12-08
项目笔记mall中使用的技术mall采用现阶主流技术实现,涵盖了一般项目中几乎所有使用的技术。技术 版本 说明 Spring Boot 2.3.0 容器+MVC框架 Spring Security 5.1.4 认证和授权框架 MyBatis 3.4.6 ORM框架 MyBatisGenerator 1.3.3 数据层代码生成 PageHelper 5.1.8 MyBatis物理分页插件 Swagg
2020-12-08 11:52:29 199
原创 lambda表达式——java8必看
java8 的新特性之lambda表达式在 java8 中,有很多新特性,如lambda表达式,这个表达式可称之为闭包,是java8发布的最重要的新特性,lambda表达式可以将函数作为一个方法的参数,我们知道,在之前的java程序中,函数一般是需要定义方法来实现的,将函数实现过程定义在方法中带来的缺点就是程序过于繁琐,不利于开发者进行函数开发,使用lambda函数表达式可以使代码变得更加的紧凑。lambda的函数表达式的语法格式也贯彻java一贯简洁的风格,(parameters)->ex
2020-11-09 10:05:33 194
原创 spring面试题集锦(有重复部分)
1、Spring是什么?Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。主要由以下几个模块组成:Spring Core:核心类库,提供IOC服务;Spring Context:提...
2020-02-08 17:46:52 573 1
原创 spring框架基础之一
认识 Spring 框架Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括IoC (Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)。什么是 Spring:Spring 是一个轻量级的 DI / IoC 和 AOP 容器的开源框架,来源于 Rod Jo...
2020-02-08 14:59:22 190
原创 list浅谈
List是有序、可重复的容器。 有序:List中每个元素都有索引标记。可以根据元素的索引标记(在List中的位置)访问元素,从而精确控制这些元素。 可重复:List允许加入重复的元素。更确切地讲,List通常允许满足 e1.equals(e2) 的元素重复加入容器。 除了Collection接口中的方法,List多了一些跟顺序(索引)有关的方法,参见下表:...
2019-07-12 19:23:14 211
原创 file类详解
java.io.File类:代表文件和目录。在开发中,读取文件,生成文件,删除文件,修改文件的属性时经常会用到本类。File类的常见构造方法:public File(String pathname) 以路径为路径创建文件对象,如果路径是相对路径,则默认的当前路径在系统属性user.dir来中存储,如示例8-21所示。【示例8-21】文件的创建import java.io.File;pu...
2019-07-11 18:28:00 226
原创 包装类缓存的问题
整型、char类型所对应的包装类,在自动装箱时,对于-128~127之间的值会进行缓存处理,其目的是提高效率。 缓存处理的原理为:如果数据在-128~127这个区间,那么在类加载时就已经为该区间的每个数值创建了对象,并将这256个对象存放到一个名为cache的数组中。每当自动装箱过程发生时(或者手动调用valueOf()时),就会先判断数据是否在该区间,如果在则直接获取数组中对应的包装类对象的...
2019-07-11 17:21:19 485 1
原创 矩形检测原理
游戏中,多个元素是否碰到一起,实际上,通常是用“矩形检测”原理实现的。 我们在前面提到,游戏中所有的物体都可以抽象成“矩形”,我们只需判断两个矩形是否相交即可。对于一些复杂的多边形、不规则物体,实际上是将他分解成多个矩形,继续进行矩形检测。 Java的API中,为我们提供了Rectangle类来表示矩形相关信息,并且提供了intersects()方法,直接判断矩形是否相交。 我们在前面设...
2019-07-10 18:12:43 2681
原创 双缓存区技术
上个版本,我们实现了动画效果,但是发现窗口会不停的闪烁,体验度非常差。在实际开发中,绘制图形是非常复杂的,绘图可能需要几秒甚至更长时间,也经常发生闪烁现象, 为了解决这个问题,我们通常使用“双缓冲技术”。 “双缓冲技术”的绘图过程如下: 1、在内存中创建与画布一致的缓冲区 2、在缓冲区画图 3、将缓冲区位图拷贝到当前画布上 4、释放内存缓冲区 双缓冲即在内存中创建...
2019-07-10 17:41:32 540
原创 初始化三种方式
数组的初始化方式总共有三种:静态初始化、动态初始化、默认初始化。下面针对这三种方式分别讲解。1. 静态初始化 除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。【示例7-4】静态初始化数组 1 2 int[]a={1,2,3};//静态初始化基本类型数组; Man[]man...
2019-07-10 16:20:38 3909 1
原创 通用分代的垃圾回收机制
分代垃圾回收机制,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的回收算法,以便提高回收效率。我们将对象分为三种状态:年轻代、年老代、持久代。JVM将堆内存划分为 Eden、Survivor 和 Tenured/Old 空间。 1. 年轻代 所有新生成的对象首先都是放在Eden区。 年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象,对应的...
2019-07-10 14:23:36 153
原创 Java虚拟机内存的简单理解
Java虚拟机的内存可以分为三个区域:栈stack、堆heap、方法区method area。栈的特点如下: 1. 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等) 2. JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等) 3. 栈属于线程私有,不能实现线程间的共享! 4. 栈的存储特性是“先...
2019-07-10 14:06:59 126
原创 基本类型的数据溢出的问题
int money = 1000000000; //10亿int years = 20;//返回的total是负数,超过了int的范围int total = money*years;System.out.println("total="+total);//返回的total仍然是负数。默认是int,因此结果会转成int值,再转成long。但是已经发生//了数据丢失long total1...
2019-07-10 09:07:31 1099
原创 BigDecimal
我们知道,在Java中,浮点数是不精确的,所以不能用来进行比较,若使用比较会出现错误,所以我们要使用BigDecimal进行准确的比较。下面数对BigDecimal进行的使用方法以及他的作用BigDecimal bd = BigDecimal.valueOf(1,0);bd = bd.subtract(BigDecimal.valueOf(0,1));bd = bd.subtract...
2019-07-10 09:03:24 174
原创 状压dp和数位dp
#include<iostream>#include<csdio>#include<cstring>using namespace std;int dp[15][15],d[15];//dp[i][j]表示存储的一位数,首位是j的方法数,儿d的数位用于村春上界值void init(){ dp[0][0]=1; for(int i=...
2018-12-19 08:57:36 401
原创 ACM--动态规划LIS,LCS及背包
今天看了一下dp来看看代码吧//*****LIS#include<bits/stdc++.h>using namespace std;int a[10010];int dp[10010];int main(){ int n ; while (cin>>n&&n) { for(int i=1;i...
2018-12-18 21:07:03 284
原创 ACM之---关于括号配对的问题
描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[", "]", "(", ")" 四种字符输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输...
2018-12-18 11:25:54 259
原创 Java的责任链模式
代码package ChainOfResposibility;/* * 一个关于请假的责任链模式的请假程序 * 封装请假的基本信息 */public class LeaveRequest { private String name; private int leavedays; private String reason; public LeaveRequest(St......
2018-08-30 13:00:50 374 1
原创 关于Java虚拟机的浅显理解
面相对象目前已经渗透到了软件开发的各个领域,;例如OOA(面向对象的分析),OOD(面向对象的设计),OOP(面向对象的编程)。c#,c++,PHP,Python。 Java的体系结构主要是Java编程语言、字节码、JavaAPI和Java虚拟机等四部分独立且相关的技术组成。 字节码的编译原理,字节码其实就是相...
2018-08-30 09:46:16 158
翻译 Java 代理
代理模式的核心作用就是通过代理,控制对对象的访问。这跟实际中是一样的,比如说明星都有经纪人,这就是一个代理,比如有人要找某明星拍戏,那么首先处理这事的是他的经纪人,虽然拍戏需要自己拍,但是拍戏前后的一些必须要做的事等等,都由这个经纪人来处理。 在程序中也是如此,通过代理,可以详细控制访问某个或者某类对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。这也是AOP的实现原理。 ...
2018-08-24 11:56:35 115
原创 集合类Set的两个子类的关系
Set是Java中一个重要的集合类,因为Set中集合的元素是无序的,并且不会有重复的元素。下面对Set的两个子类进行介绍。Hashset一.HsahSet概述HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。 public class HashSet<E> ...
2018-07-27 13:30:22 575
原创 Java高级开发之反射专题之Class类的使用
首先我们要知道,在面向对象的世界里,万事万物皆对象,所有的类都是java.lang.class的实例对象,所以就有了class的使用,废话不多,直接上代码。(由于代码中写了大量注释,就不在进行过多的解释,当然有小伙伴可能注释也看不懂,所以我在博客最下面补充了一些方法使用的解释。)package reflect;public class ClassDemo1 { public stati...
2018-07-27 10:14:36 256 1
原创 Java中dimension类详解
dimension - Java的一个类 dimension是Java的一个类,封装了一个构件的高度和宽度,这个类与一个构件的许多属性具有相关性,因此在Component类中定义多个与之有关的方法,LayoutManager接口也与一个Dimension对象有关联。Dimension类的高度和宽度值是一个整数,表明有多少个像素点。与Dimension类相关方法:getSi...
2018-07-26 12:30:12 34716 1
原创 Java的多线程并发出现缓存一致性问题之拙见
Java的多线程并发出现缓存一致性问题 (如有错误,请不吝赐教) 首先我们得知道什么是缓存,并明白什么是缓存,缓存是介于物理存储与CPU处理之间的一段内存空间,主要用于存储从物理存储读出、或者要写入的数据,这需要硬件或者软件支持。如果读取或写入物理存储中的一个字节或一段数据,如果没有缓存,那么每次的读写请求都会直接访问物理存储,而物理存储的速度一般都比较慢,而且物...
2018-07-17 10:34:35 2549 1
第一题学生成绩管理系统.cpp
2020-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人