- 博客(61)
- 收藏
- 关注
原创 Spring初步学习——Spring MVC
MVC 设计概述在早期Java Web的开发中,统一把显示层,控制层,数据层全部交给JSP或者JavaBean来进行处理,就像下图所示:【弊端】:JSP和Java Bean之间严重耦合,java代码和HTML代码也耦合在了一起 要求开发者不仅要掌握java,还要有高水平的前端技术 前段和后端相互依赖,前段需要等待后端完成,后端也要依赖前端完成,才能进行有效的测试 代码难以...
2021-07-09 17:28:55
135
原创 JSON那点事?
一、什么是JSON?1、JSON指的是JavaScript对象表示法(JavaScript Object Notation)2、JSON是轻量级的文本数据交换格式3、JSON独立于语言4、JSON具有自我描述性,更易理解总结为一句话就是:JSON使用JavaScript语法来描述数据对象,但是JSON依然独立于语言和平台,JSON解析器和JSON库支持许多不同的编程语言J...
2021-07-09 17:25:32
117
原创 2021-03-17
>>> 2021-03-17 感觉生活过得越来越迷茫了,身边的大家还都在为生活做努力和改变,好像毕业后变得安逸,不在上进,想为自己的生活做出一些改变~,那就看我们能够坚持几天吧 最近想自己搭建一个spring项目,好像还没手操过,然后就用IDEA创建了一个轻量级的spring项目,配置maven的时候我选择了自己的但是maven仓库还是之前的,然后创建完自己的项目打包的时候总还是打包失败,找不到问题,最后在同事的帮助下找到是因为maven下面我加了两个set...
2021-03-17 20:55:05
133
原创 Java中的BeanUtils是什么?
BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。Beanutils.copyProperties( obj1,obj2),but 因为obj1中属性名称id,obj2中属性名称afterId,因为Beanutils.copyProperties( )要求处理的两个对象的属性名称相同时才可以正常赋值...
2020-02-16 20:56:28
967
原创 服务器安装mysql教程
https://www.cnblogs.com/simple1025/p/11133538.htmlhttps://www.cnblogs.com/ljysy/p/10324854.htmlhttps://blog.csdn.net/qq_40241957/article/details/90343651
2020-01-15 14:10:08
162
原创 使用case-when时需要注意一个点
当时Mapper中就只有一段简单的update语句,如下:UPDATE 表1 a, 表2 bSET a.hzjy_flag = case b.HZJYBZ when '1' then '1' when '2' then 2 else '2' end, a.reference_price = b.CKJGWHERE a.market_no = b.JYSC AND a.r...
2019-12-19 11:05:25
380
原创 解决电脑图标变为白色dewe
按键 “WIN+R” 输入即可cmd然后输入分别输入 : taskkill /im explorer.exe /f cd /d %userprofile%\appdata\local del iconcache.db /a start explorer.exe exit执行这些命令,清除缓存,图标就会重新出现...
2019-12-19 10:37:24
207
原创 关于VScode,每次启动,端口号都会发生变化的解决方案
我之前只因为cnpm install,将版本升的过高,然后出现问题执行这条语句就好,降一下版本:npm install portfinder@1.0.21
2019-09-16 16:46:16
5094
原创 文件打包上传服务器操作
今天,要向服务器上传项目,结果一点点操作都不会简直自己要被自己蠢哭的在同事的指导下,一步步操作,才熟悉了这个流程首先我们需要将自己本地的项目打包,进入到需要打包的项目路径下,然后在该路径下打开cmd使用maven clean install可以看得到打包的进度正常的打包顺序:web-api-service、web-service-common、web-service、web...
2019-07-14 01:10:42
755
原创 Servlet和filter的区别
在学习java EE的过程中,我们一定会接触这两个小家伙,而且面试过程中也是常见考题,那么他们究竟是什么Servlet:是一种运行在服务器端的1java应用程序,具有平台独立性和协议的特性,可以动态的生成web页面,位于客户端请求和服务器响应的中间层。servlet的主要功能有: (1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML页面。 (2) 创建可嵌...
2019-04-27 19:34:06
133
原创 关于MyBatis的逆向工程
通常我们设计好数据库之后,需要在项目中创建对应的实体类,mapper,dao,但是当我们的表数据很大的时候,工作就会变得繁琐又复杂Mybatis就为我们提供了这样一个操作,根据数据库为我们创建实体类,mapper,daoMybatis官方提供了一种名为“逆向工程”的机制,其可以针对数据库中的表单自动生成Mybatis需要的代码 包括:java实体类,Mapper映射配置,mapper代理...
2019-04-26 18:24:07
235
原创 Cookie与Session
众所周知,我们浏览器与服务器之间的交流是通过Http(TCP/IP的应用层协议,超文本传输协议)协议约定的,一次请求对应一次响应Http协议是一个无状态协议,意味着每一次的请求都是独立的,后续处理无法获取之前的数据,无法实现数据之间的共享,所以需要时就只能通过重传,但是这样会导致每次连接传送的数据量增大现在我们来说一说解决方案:1、使用参数传递机制,使用get传递,可以将参数拼接在UR...
2019-04-26 16:19:09
122
原创 Web组件之间的跳转
一、请求转发(forward)也叫作直接转发方式,客户端和浏览器只能发出一次请求,Servlet、HTML、JSP或者其他资源,由第二个信息资源响应该请求,在请求对象request中,保存的对象对于每个信息资源是共享的语法:request.getRequestDispatcher(path).forward(request,response);特点:(1)地址栏中的地址不会改变 ...
2019-04-26 11:27:42
365
原创 Servlet相关要点
Servlet(server与applet的缩写)1、什么是Servlet?servlet与普通的java程序不同,他是运行在web应用服务器上的Java程序,可以对web浏览器或其他Http客户端程序发送的请求进行处理 ~servlet容器(WEB容器,例如tomcat)是web服务器或者应用程序服务器的一部分,用于在发送请求和响应上提供网络服务。 ~servlet是基于...
2019-04-26 10:51:26
187
原创 关于mysql中Timestmap字段修改报错:mybatis invalid comparison: java.sql.Timestamp and java.lang.String
今天在做毕设的过程中由于粗心遇到了两个问题,第一个是try-catch,语句中未抛出异常,导致始终都找不到错误所在,加了异常处理之后看到mybatis报错信息:mybatis invalid comparison: java.sql.Timestamp and java.lang.String起初以为是java数据类型操作不当,引起的错误,但是发现插入操作是正确的,然鹅更新操作不正确,再网上看...
2019-03-14 15:35:51
455
原创 关于windows下使用命令行杀死占用某端口号的进程
netstat -ano |findstr 8443:查看占用8443端口的进程idtasklist |findstr 16436:查看该进程的信息taskkill -PID 16436 -F:杀死当前进程
2019-01-18 15:54:16
305
原创 读取项目下的所有mappe.xml文件并将其中的sql语句全部导出到excel表格中
在实际应用的过程中总会遇到需要将某文件夹下的特点文件中的特定内容输出,现在我们来编写一个工具类来解决这个操作关于这个操作,主要涉及到三个点:(1)能够从文件工程下,识别文件中的mapper.xml文件(2)能够读取mapper文件中指定节点内的sql语句(3)将识别的sql语句输出到excel表格中操作(1)详解:输入文件路径后:file.isDirectory()来判...
2019-01-17 09:59:37
463
原创 回顾web
今天我们整体的回顾一下web相关知识一、web应用程序大体可以分为静态网站和动态网站1、静态网页大部分是用HTML编写的,这些代码都很是写死的,只有代码发生变化时页面才会发生变动。这些代码放在web服务器上,用户使用浏览器通过HTTP协议请求服务器上的web页面,服务器上的web服务器接收到用户的请求处理后,再发送给客户端浏览器,显示给用户,静态web无法连接数据库,界面可以使用js,aj...
2018-12-19 20:29:46
251
2
原创 Mybatis初步学习
Mybatis简介mybatis是一个基于java的持久层框架,特点就是以SQL语句为核心的不完全的ORM(关系型映射)框架持久层:可以将业务数据存储到磁盘,具备长期存储能力,只要磁盘不损坏,在断电或者其他情况下,重新开启系统仍然可以读取到这些数据 优点:可以使用巨大的磁盘空间存储相当大的数据,并且很廉价 缺点:慢,相对于内存而言使用mybatis的好处:可以简化传统的J...
2018-11-20 19:44:07
331
原创 Spring初步学习——Spring MVC
MVC 设计概述在早期Java Web的开发中,统一把显示层,控制层,数据层全部交给JSP或者JavaBean来进行处理,就像下图所示:【弊端】:JSP和Java Bean之间严重耦合,java代码和HTML代码也耦合在了一起 要求开发者不仅要掌握java,还要有高水平的前端技术 前段和后端相互依赖,前段需要等待后端完成,后端也要依赖前端完成,才能进行有效的测试 代码难以复...
2018-11-20 17:38:26
241
原创 Spring初步学习——数据库编程
传统JDBC回顾首先我们来回顾一下传统的JDBC,怎么连接数据库的,往往我们要写很多的重复模板代码:public Student getOne(int id) { String sql = "SELECT id,name FROM student WHERE id = ?"; Student student = null; // 声明 JDBC 变量 C...
2018-11-20 12:15:00
210
原创 Spring初步学习——Spring AOP
Spring AOP简介 AOP,Aspect Oriented Program,面向切面编程,也是Spring最为重要的功能之一,在数据库事务中切面编程被广泛使用一、什么是AOP?在面向切面编程中,把功能分为核心业务功能和周边功能:*核心业务:比如登陆,增加数据,删除数据*周边功能:比如性能统计,日志,事务管理等等周边功能在Spring的面向切面编程AO...
2018-11-20 11:47:21
166
原创 Spring初步学习——Spring IOC/DI
秋招10月底结束后,自己就又恢复之前的堕落了,没有了秋招的那股劲和上进心,最近也开始要毕设了,自己还是一样的渣,决定站起来,马上都快就业的人什么都不会有点说不过去了!站起来,我还能学!于是乎为毕设做点准备,开始着手学习框架,首先让我们从万能的spring开始着手学起。——>spring设计的领域有: 移动开发、社交API集成、NoSQL数据库、云计...
2018-11-18 23:16:29
171
原创 同步队列(阻塞队列和非阻塞队列)
在并发编程中,很多情况下需要使用线程安全的队列。而实现线程安全的队列有两种实现方式1、使用阻塞算法:使用阻塞算法的队列可以用一个锁(入队和出队使用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现(基于锁的算法会带来一些活跃度失败的风险。如果线程在持有锁的时候因为阻塞I/O,页面错误,或其他原因发生延迟,很可能所有的线程都不能前进了)2、使用非阻塞算法:使用循环CAS的方式来实现(一个...
2018-10-07 12:39:10
2792
原创 面试常见问题
一、创建一个不可变类(即final类)需要满足哪些条件?1、将类声明为final,所以它不能被继承;2、将所有的成员声明为私有的,这样就不允许直接访问这些成员;3、对变量不要提供setter方法;4、将所有可变的成员声明为final,这样只能对它们赋值一次;5、通过构造器初始化所有成员,进行深拷贝(deep copy);6、在getter方法中,不要直接返回对象本身,而是克...
2018-10-06 19:26:26
164
原创 线程状态转化
一直对线程的状态以及转化流程不太清楚,今天来总结一下借用网上的一张流程图,大概的转化流程如下,接下来我们来具体说明一下(1)初始状态:我们创建线程的方法有继承Thread和实现Runnable,Callable接口这三种方法,当创建完成这时的状态就是初始状态(2)可运行状态:当我们调用线程的start方法,就会从初始态转化为可运行状态(就绪状态)(3)运行状态:可运行态的线程...
2018-10-06 15:56:40
202
原创 B-Tree,B+Tree以及mysql索引的实现
通过这篇博客来学习的:https://blog.csdn.net/alex_xfboy/article/details/82818753一、B-TreeB-Tree结构的1数据可以让系统高效的找到数据所在的磁盘块为了描述B-Tree,我们先定义一条数据记录为一个二元组[key,data],key为记录的键值,对于不同数据记录,key是互不相同的,data为key对应的值,m阶的B-Tr...
2018-10-05 20:35:47
3613
原创 关于in和exists
mysql中in语句是把外表和内表做hash连接,而exists语句是对外表做loop循环,每次循环再对内表进行查询,可能我们会觉得exists比in语句的效率要高,这种说法其实是不准确的,也是要分环境讨论的如果查询的两个表大小相当,那么用in和exists差别不大。 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in。 not in 和not exists...
2018-10-05 19:19:33
116
原创 数据库存储引擎
今天学习了下数据库的核心,存储引擎(四种):myisam,memory,innodb,archive不同的存储引擎,有着不同的性能,如下InnoDB:提供提交,回滚,奔溃恢复能力的事务安全(ACID)能力,并要求实现并发控制,支持行锁和外键,mysql默认的Mysql引擎,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池,InnoDB将他的表和索引在一个逻辑表空间中,...
2018-10-05 16:33:29
137
原创 适配器模式
一、适配器模式:将一个的接口转换成客户端希望的另一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作(类似我们的转换头)二、模式中的角色:(1)目标接口:客户所期待的接口,目标可以是具体的或抽象的类,也可以是接口(2)需要适配的类:需要适配的类或适配者类(3)适配器:通过包装一个需要适配的对象,把原接口转化为目标接口三、实现方式:(1)类的适配...
2018-10-04 19:57:37
125
原创 工厂模式
工厂模式:属于创建型模式之一,他提供了一种创建对象的最佳方式,主要为了降低耦合度。工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的工厂模式根据抽象程度不同分为三种:(1)简单工厂模式(静态工厂模式)(2)工厂方法模式(3)抽象工厂模式(1)简单工厂模式:实质是由一个工厂根据传入的参数,动态决定应该创建哪一种产品类(这些产品类继承自...
2018-10-04 17:49:46
95
原创 装饰器模式
装饰器模式是什么?装饰器模式属于结构型模式中的一种,允许向一个现有对象添加新的功能,同时又不改变其结构,作为现有类的一个包装举个实例吧,就像我们女朋友出门前,必须要化妆,这个过程就可以抽象成一个装饰器模式,要打底,要涂口红,要扑粉,要画眉……一大堆操作,但是你让女朋友只画眉毛,那她肯定不乐意了啊,这个时候就必须再添加修饰interface Showable{ public void s...
2018-10-04 12:07:49
122
原创 在浏览器输入一个网址到加载页面的过程?
1.解析:输入域名会对域名进行解析,得到对应的IP地址,访问域名,其实访问的是域名对应的IP地址;解析过程步骤如下(前一步没找到才进行下一步): (1)查找浏览器的dns缓存; (2)查找计算机的dns缓存; (3)查找路由器的dns缓存; (4)查找互联网服务提供商dns缓存; (5)在本地域名服务器中查找,...
2018-10-03 21:46:50
739
原创 代理模式
代理模式:代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息,过滤消息,把消息转发给委托类,以及事后处理消息等,代理类与委托类之间存在关联关系,代理类对象本身不真正实现服务,而是通过委托类的对象的相关方法来提供特定的服务,可以借助代理模式增加一些功能(开闭原则,增加功能),代理类的分类:(1)静态代理:在程序运行前,代理类的.class文件已经存在了/** * * @au...
2018-10-02 19:37:39
104
原创 单例模式
单例模式:一个类只有一个实例方便控制并节约系统资源优点:节省内存,加快访问速度,因此对象需要被公用的场合适合使用,如多个模块使用同一数据源连接对象等等缺点:不适用于变化的对象,如果同一类型的对象总是在不同的用例场景发生变化,单例就会引起数据的错误,不能保存彼此的状态饿汉模式的两种:public class Singleton_hungry { private final sta...
2018-10-02 15:49:04
84
原创 手写反射方法
import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;import org.junit.Test;public class ReflectDemo { public static void main(String[] args) { ...
2018-10-02 14:41:06
541
原创 排序算法
一、冒泡时间复杂度:O(n^2),空间复杂度:O(1),稳定的算法冒泡的思路:相邻元素之间进行比较,选出最大或最小的元素放至数组最后一个位置普通冒泡就不介绍了,这里来写一下,上浮下沉的冒泡排序public class BubbleBetter { public static void main(String[] args) { // TODO 自动生成的方法存根 int...
2018-09-30 21:52:26
104
原创 求最大连续数组
题目描述:给定一个二进制数组,找到含有相同数量的0和1的最长连续子数组(1)方法一,暴力破解法,获取字符串的子串,n^2个,然后判断每个串是否符合0,1个数相同,这样做的时间复杂度为O(n^3)稍微优化,如果一个长度为n的子串满足条件,那么这n个元素的和加起来一定=(n/2);这样的话,循环增量加就可以了,不用每个子串从头计算,复杂度降为O(N^2)(2)将所有的数字0替换为-...
2018-09-24 22:20:21
363
1
原创 求数组最大子段和
给定一个数组,求这个数组中最大连续子段和:例如:Input: [-2,1,-3,4,-1,2,1,-5,4],Output: 6Explanation: [4,-1,2,1] has the largest sum = 6.(1)首先看到这个题我能想到的暴力破解,就是遍历数组,定义一个最大连续数组和,当前数组和大于则替换时间复杂度为O(n^2)//暴力破解O(n^2)...
2018-09-24 21:57:22
886
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人