- 博客(48)
- 收藏
- 关注
原创 nginx部署vue项目(提供vue.config、nginx等配置文件)
需要看过相关文章,懂vue打包等,其他文章都不是很清晰,有些也不好用,本人亲测总结windows下可用,linux需要自己装环境测试。
2023-06-01 10:12:00
1955
原创 Java的NIO不一定快
使用Java的NIO(new io)一定快么?(需要有io的相关基础知识!)不一定,要看以流的方式代码怎么写,直接上代码(使用nio复制文件是随便在网上找的代码) public static void main(String[] args) { //txt存储了1个G的文字 init(); } public static void init(){ long start=System.currentTimeMillis(); System.o
2022-04-26 16:44:41
332
原创 Java使用POI生成多个自定义sheet页新版本的Excel
使用POI生成多个自定义sheet页的新版本excel,参考原来在scdn查到的博客,但是发现生成的是旧的版本,存在数据量上的问题,所以产生了这个版本(存在效率问题)1.实体类(一个sheet页):存放当前sheet名称(左下角)、第一行的多个列标题、每行的多列数据2.处理流程...
2021-08-25 14:58:55
981
原创 自定义xml文件转json(包括标签属性对应值和标签内容)
xml转JSON依赖 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.5</version> </dependency> <!-- https://mvnr
2021-03-02 10:51:15
1566
原创 java中使用fastjson实现对象和json互转
依赖: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.75</version> </dependency>对象转json User user = new User(); user.setName("李四"); user.setAge(44);
2021-03-01 17:05:16
214
原创 时间表,时间纬度表(年,月,日,季度)
因为业务需要,需要一张表存有:唯一id,年份,月份,天,季度几个字段(一年三百多天的数据),手动插入不现实**(非原创,但是季度字段自己基于原创改的)**
2021-01-20 12:30:48
789
原创 kettle保存历史数据
kettle搭建数据仓库,实现数据对比,同时保留历史数据要求: ods层的表是最新数据,同步到dw层需要保留修改前的数据ODS: 相对于实际的库有个更新时间字段DW: 相对于ODS没有更新时间字段,但是有开始和结束的时间两个字段(开始时间为更新数据时间,结束时间为无限期)流程解析:从ODS同步到DW,所以每次ODS库相对于实际是新的,DW库的数据为旧数据从ODS和DW查出数据,先在排序记录排序,在放到合并记录里(不排序会报错)合并记录里左侧根据ID对比,右侧比对字段为数据字段,上面新旧数据
2021-01-20 12:28:47
679
原创 spring的AOP实现原理
spring的AOP实现原理AOP通过动态代理来实现主要有两种实现方法(区别在于要代理的对象是否是一个接口):**是一个接口:**使用JDK1.3提供的的proxy通过反射回去其中的方法来实现(因为使用proxy需要继承proxy,java不支持多继承(支持多重继承),所以需要是一个接口,新的代理类继承proxy同时实现需要代理的接口)**不是一个接口:**使用cglib实现,要求代理类不能是final,代理的方法也不能是final(否则无法继承)...
2020-10-29 09:37:32
126
原创 springboot打war包的pom.xml
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0
2020-09-03 23:01:09
793
原创 spring boot打jar包找不到网页
spring boot打jar包找不到网页pom.xml文件如下(主要是build标签的resources,依赖参考别人说的就行)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://
2020-09-03 22:24:05
594
原创 SSM框架测试类中service异常或空指针异常
在测试类中调用ServiceImpl的打印数据库数据出现空指针异常问题和解决办法如图(有可能是这两个个问题):普遍的问题:看看dao方法有没有写注解(写了的话也有可能报别的错误,需要有时候需要重新写下)如果写了还有可能是test的错:其他可能问题,test需要写这两个注解:@ContextConfiguration(value = {"classpath:spring-core.xml"})@RunWith(SpringJUnit4ClassRunner.class)如果是springbo
2020-08-28 21:04:08
1282
原创 MySQL的索引和Hash索引、B+、B树
索引:索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),包含着数据表里所有记录的引用的指针,同时还是一种数据结构,用来以协助快速查询、更新数据库表中数据,通常使用B+树。索引优缺点:优点:可以大大加快数据的检索速度,这也是创建索引的最主要的原因,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。缺点:创建索引和维护索引要耗费时间,具体地,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,会降低增/改/删的执行效率;占用物理空间。索引的基本原理:把
2020-08-27 21:23:08
1777
原创 mybatis:Expected one result (or null) to be returned by selectOne(), but found:
Expected one result (or null) to be returned by selectOne(), but found: 3今天使用mybatis报了一个这个错,经过查询主要是查出数据和方法接收不一致导致的(我数据库语句是 查所有 User,但是方法名是 查一个 User不是List)如图:mapper文件的查询语句:错误的方法:正确的方法:...
2020-08-20 15:35:15
1744
原创 mybatis的#{}和${}的详细区别和底层实现
mybatis的#{}和${}的区别和底层实现${} (Statement实现):1、只是简单的替换,传递的参数会被当成sql语句中的一部分(不能防止sql注入)2、建议like和order by后使用#{} (PreprareStatement实现):1、解析为一个 '?'占位符号,会对自动传入的数据加一个双引号(可以防止sql注入)预编译的机制:预编译是提前对SQL编译之前进行预编译,而其后注入的参数将不会再进行编译。因为SQL注入是发生在编译的过程中,因为恶意注入了某些特殊字符,最后被编
2020-08-17 12:37:00
998
原创 mybatis中一个resultMap 包含多个association,一个类对应多个类属性写法
经过查询得知一个自定义类中包含多个自定义类是可以写多个association进行映射的,如下://实体类@Data@NoArgsConstructor@AllArgsConstructorpublic class Detail { private String id; private String title; private String description; private String student_id; private String teac
2020-08-15 22:32:19
2312
原创 IDEA关闭自动保存、打开星号提示(*提示)或打开自动保存关闭星号提示
IDEA是会自动保存的,要想不让自动保存,并且未保存的时候文件上出现星号提示(*)(想要自动保存不出现星号步骤相反)操作步骤如图:1、File --> Settings:2、去掉Settings --> System Settings下这两个勾(自动保存):3、Settings --> Editor Tabs下打开展示星号(*号):...
2020-08-13 16:12:39
2396
原创 解决:The declared package “com.xx.xxaction“ does not match the expected package “main.java.com.xx“
eclipse创建的maven项目出现(整个项目报错)提示:The declared package “com.xx.xxaction” does not match theexpected package "main.java.com.xxactio"问题)。报错样式:有可能是你做了下面的步骤(更新了项目):解决办法:1:2:...
2020-08-03 21:04:15
1144
原创 23、java的IO流(字节流、字符流、桥转换流等)
IO流流的分类:a) 按方向分【重点】(以JVM为参照物)① 输入流:将 <存储设备> 中的 [数据] 读入到 <内存> 中② 输出流:将 <内存> 中的 [数据] 写出到 <存储设备> 中b) 按单位分① 字节流:以字节为单位,可以操作所有类型的文件② 字符流:以字符为单位,只能操作文本类型的文件c) 按功能分① 节点流:只具备基本的读写功能② 过滤流:在节点流的基础上,添加了新的功能1、字节流1. 字节流父类(抽象类)a) Inp
2020-06-23 22:50:17
403
原创 22、java的集合(Colleciton集合框架、List与Set对应实现类循环遍历方法)
Colleciton集合框架Collection接口特点:存储任意类型的对象;Collection集合是List接口与Set接口的父接口,该接口中定义的方法在List和Set中都存在。常用方法:boolean add(Object o):将元素o添加到集合的末尾,成功返回true,失败返回falseboolean addAll(Collection c):将集合c中的元素添加到指定集合中void clear():将一个集合中所有的元素删除boolean contains(Object o):判断
2020-06-16 09:29:12
189
原创 21、java的包装类及其作用(自动装箱、自动拆箱)
包装类包装类作用:可以区分null和0,即可以区分有效数据和无效数据包装类:为8种基本数据类型分别定义的相应的对象类型基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean常用的数据类型之间的转换://int---转-->Integerint a = 10;//1.Integ
2020-06-11 12:05:56
290
原创 20、Java的Object类中的一些方法(getClass()方法、toString()方法、hashCode()方法、equals()方法、finalize()方法)
Object类:所有类的直接或者间接父类,根类,任何一个类如果没有写继承的父类,则默认继承Object,所以Object类中定义的方法是所有类都具备的。1.getClass():返回引用中存储的对象的实际类型(可以判断两个引用中存储的对象的实际类型是否一致)。public class TestAnimal {public static void main(String[] args) { Animal a1 = new Dog(); Animal a2 = new Dog(); Animal
2020-06-10 09:30:31
255
原创 19、java的4种内部类(成员内部类、静态内部类、静态内部类、匿名内部类)
内部类内部类分为:成员内部类、静态内部类、局部内部类、匿名内部类1、成员内部类: 成员内部类类似于成员变量,定义在类中,和属性|方法对齐。//外部类类名.内部类类名 内部类对象名 = 外部类对象名.new 内部类类名();class Inner{ private String inner_field = "内部类的成员变量"; int a = 100;//内部类成员变量 //static int c;//成员内部类中不能定义静态成员 public void inner_method() {
2020-06-09 11:46:09
248
原创 18、java的接口和接口与抽象类的区别(jdk8.0后的静态方法、默认方法)
接口关键字:interface接口中所有的属性都是公开静态常量,默认被public static final修饰接口中所有的方法都是公开抽象方法,默认被public abstract修饰接口中没有构造方法,不能参与创建对象的过程。interface Inter{void m1();void m2();}//实现类1,实现接口可以不用实现所有方法,则是抽象类abstract class MyInter1 implements MyInter{}//实现类2,实现所有方法则不是抽象类cl
2020-06-06 13:33:49
474
原创 17、java三大修饰符和访问修饰符
访问修饰符:private、default、protected、publicdefault、public可以修饰类、属性、方法private、protected只能属性、方法三大修饰符abstract:abstract可以修饰类和方法修饰类:1:修饰类,则该类不能实例化对象(不能new出来)1:可以被子类继承,可以为子类提供共性的属性和方法抽象类存在构造方法; 构建子类之前会先构建父类对象,父类的共性+子类的独有=完整的子类对象。2: 可以声明为引用,:(多态)。abstract cl
2020-05-24 10:37:23
352
原创 16、java面向对象的三大特性(封装、继承、多态)、instanceof关键字
封装封装:是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法,要访问该类的代码和数据,必须通过严格的接口控制。public class Person {//将 name 和 age 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。 private String name; private int age; public int getAge(){ return age; }//对每个值属性提供对外的公共方
2020-05-21 14:05:15
209
原创 java接口回调和lambda表达式结合
今天有道题涉及到接口回调和lamda表达式结合,感觉不错先写出来,回头把相关的知识补上TestCallBack类package day01;public class TestCallBack{ public static void main(String[] args){ Student[] ss = { new Student("jack",20,true,99.0), new Student("bob",40,true,80.0), new Student
2020-05-20 21:28:46
582
原创 15、java的this和super,子类对象创建的过程
概述this分为this.和this():this.代表用的 当前类 的属性(比如声明int i的i),this()则表示使用得是 本类 的构造方法(括号内可以带参数)。super分为super.和super(): super.用于 父类 的属性(比如父类中声明int i的i),super()则表示使用得是 父类 的构造方法(括号内可以带参数)。综上:所以他们的区别在于是否在当前类!thisthis.用法:用来区分方法内外相同名字的属性class Cxk{ int i=20; public
2020-05-20 12:07:06
241
原创 java贪吃蛇小游戏代码
代码如下:第1个文件:StartGames.javapackage com.cao.snake;import javax.swing.*;public class StartGames { public static void main(String[] args) { //1静态窗口 JFrame frame=new JFrame("贪吃狗"); frame.setBounds(100,100,1500,1300); fram
2020-05-19 10:13:46
872
原创 14、java的重载(overload)和重写(Override)的区别(重写也叫覆盖)
重载:方法名相同,参数表不同(类型不同,个数不同,顺序不同)class Cxk{ public void add(int a){ System.out.println(a); } public void add(int a,double b){ System.out.println(a+" "+b); } public void add(double a,int b){ System.out.println(a+" "+b); }}注意:方法的重载与返回值类型无关,下面第四
2020-05-18 12:37:36
180
原创 java如何调用自定义类型数组中嵌套的自定义数组的各个属性(定义一个Product类,类中属性name(String 商品名字),price(double),count(int 订单数量)...)
定义多个用户,一个用户有多个商品组成的订单,如何深度调用某个用户的某个商品名,商品总价值,订单信息等等如题:定义一个Product类,类中属性name(String 商品名字),price(double),count(int 订单数量),属性私有提供set/get方法showMessage,展示商品信息定义一个Order类,类中属性id(int 订单编号),name(String 用户姓名),Product[] (商品信息 每个订单包含多个商品)方法showOrder,展示订单详情创建多个Orde
2020-05-16 10:48:45
1850
原创 13、java面向对象、局部变量和成员变量的区别
面向对象程序:为了模拟现实世界,解决生活中的问题对象:既然是为了模拟现实世界,那么现实中有的比如说水桶,那么水桶在计算机中就是一个对象。所以理解下:万物皆对象。类类是对象的模板,对象是类的实例,之前不是介绍了类(class)了么,比如class...
2020-05-15 17:45:31
196
原创 11、java的八种基本类型(8大基本类型)
八种基本类型:整型: byte、short、int、long浮点型: float,double字符型: charBoolean型: boolean详细如下():注意:Java最小的单元为字节,1字节为8bit,bit只有1或0,第一个bit位为1表示负整数,其余为0或1(10000010为﹣2,00000010为2)整型:byte:长度为1字节8bit,取值10000000(-128)到 01111111(127),变量初始化默认值为0,包装类Byteshort:长度为2字节16bit,取
2020-05-10 17:14:37
430
原创 10、java的各种数组的默认值
各种数组的默认值:在java之中会有各种数组如int类型数组、char类型数组,他们只定义了长度并不赋值的话是会有默认值的,下面介绍下各种数组的默认值:数组类型默认值2整数类型0小数类型0.0布尔类型false字符类型空字符|‘\u0000’String及其他null...
2020-05-10 16:07:31
310
原创 9、java的函数(无参函数、有参函数,多个有参函数计算、带返回值函数、函数语法总结)
函数:一、函数的概念:完成特定功能的一段代码,并且可以在多个地方通过名字进行反复的使用。二、函数的定义位置:类以类,其他函数外面,与主函数并列。三、函数使用的基本流程:函数的定义:1:函数的声明:约定了函数的功能。public static void 函数名()2:函数的实现:完成功能的代码 {}public static void 函数名(){//声明函数//代码}//建议函数名:首单词首字母小写,其他单词首字母大写如:helloWorld//下面是实际的样式public s
2020-05-09 11:34:14
899
原创 Tomcat启动显示乱码问题和IDEA中Tomcat乱码问题
1.普通Tomcat启动乱码找到如下路径选中的文件,用记事本什么打开就行:然后修改下图中的这行代码(原来是utf-8吧,因为电脑系统用的GBK,要改成GBK):2.上面操作下一般Tomcat乱码问题就解决了,要是IDEA还是不行就试试这个:打开IDEA上面的Help添加一行如下代码:-Dfile.encoding=UTF-8...
2020-05-08 16:24:58
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人