自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (3)
  • 收藏
  • 关注

原创 关于Java中的AtomicInteger类

java的并发原子包里面提供了很多可以进行原子操作的类,比如:AtomicInteger AtomicBoolean AtomicLong AtomicReference等等,一共分为四类:原子更新基本类型(3个)、原子更新数组、原子更新引用和原子更新属性(字段)。提供这些原子类的目的就是为了解决基本类型操作的非原子性导致在多线程并发情况下引发的问题。AtomicInteger的操作是...

2020-04-23 15:16:59 290

原创 关于Mysql中的生日提醒

Mysql中的生日提醒功能在有的项目中或许会使用到,那么我最近在写项目中就遇到此类的问题 ,在网上寻遍以后找到一个相对合理的解决办法,那就是使用Mysql的datediff函数对日期进行加减,下面我把sql语句公布出来:SELECTccu.custom_name as CustomName,ccu.id as customId,ccu.gender as sex,DATE_FORMAT(...

2019-12-26 10:04:42 919

原创 Ubuntu16版本及以上版本的linux环境搭建FTP服务器

搞了下FTP服务器,基本上能遇到的问题都遇到了。此文章参考了部分网上另外的作者的,希望别介意哈。先说步骤:1.安装vsftpd软件包sudo apt-get install vsftpd如果已安装的可以先卸载sudo apt-get remove --purge vsftpd(–purge 选项表示彻底删除改软件和相关文件)2.打开配置文件vim /etc/vsftpd...

2019-02-21 14:16:02 427

原创 Linux服务器搭建Redis环境以及安装Redis操作

最近在Ubuntu线上阿里的linux服务上自己安装redis以及搭建Redis环境,感觉命令式的方式稍微有那么一点点不方便,不过不方便也要习惯,下面我就把我安装以及搭建的流程展示出来。首先在Redis官网去查看你想要的版本号,然后在Linux环境下使用wegt命令去下载你所想要的版本,那么我下载的时5.0.3的版本,命令如下wget 后面跟上下载的东西的网址那么linux就会自己去给...

2019-02-20 15:14:57 248

原创 设计模式:工厂模式

工厂模式是每个开发人员都应该知道的关键创建模式之一。它们是许多高级模式的主要组成部分。很长一段时间以来,我都对不同类型的工厂模式感到困惑。此外,在同一篇文章中很难找到有关这些类型的信息。这篇文章是关于 4 种工厂模式:工厂方法模式抽象工厂模式静态工厂方法简单工厂(也称为普通工厂)“Gang of Four“在《设计模式:可重用的面向对象软件的元素》一书中描述了工厂方法模式,当我第一次阅读这种模式时,我将它误解为 Java API 的主要架构师之一 Joshua Bloch 在他的《Effecti

2022-01-12 16:09:22 228

原创 BigDecimal累加问题

BigDecimal类型的数据在遍历的时候累计相加不会改变原有的值,所以推荐使用这种方式进行累加: BigDecimal countMoney = list .stream() .map(LogisticsAppoint::getMoney) .reduce(BigDecimal::add) .get();...

2021-11-17 18:11:55 8085 2

原创 关于BigDecimal类型的数据进行加减运算

BigDecimal类型在Java的开发中会经常使用到,BigDecimal是Java.math包下面的类,那么此类呢就代表的是数学类,可以进型常规的数学运算操作。官方对该类的解释是:在{@code大十进制}类提供操作用于算术,比例操作,舍入,比较,散列和格式转换。 的{@link q若要字符串}方法提供了{@code大十进制}的规范表示当然哈英文我自己英文的原因,借助谷歌的翻译勉强能...

2020-04-13 11:20:58 2052

原创 关于邮箱类的正则表达式

正则表达式在实际项目开发中会经常使用,那么现在做一个邮箱类的正则表达式归纳:^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z0-9]{2,6}$

2020-04-09 11:45:34 276

原创 关于Java中的定时任务

现实开发中,可能会经常使用到定时任务,也有可能会使用不到,在最近的项目开发中,我就使用到了定时任务,那么接下来我来总结一下我所使用的定时任务吧。项目呢使用的是基本框架也就是SpringBoot+MybatisPlus,那么所使用的定时任务呢也就是SpringBoot自带的定时任务。万事开头第一步,导入maven包,在最外层的pom.xml中导入如下代码:  <parent&gt...

2020-04-09 11:32:10 241

原创 关于Java代码中的获取手机号所在省市区相关的问题

在实际的项目开发中,可能会遇到根据手机号获取用户的省市区的需求,那么首先就不要慌,有百度的也有谷歌的,下面我把代码写出来。以谷歌的工具为例:首先在maven中引入谷歌的获取手机号省市区的包:<dependency> <groupId>com.googlecode.libphonenumber</groupId> <artifac...

2020-04-08 18:20:58 1113 3

转载 Http首次访问较慢的问题以及Http和Https的区别

1 http第一次访问比较慢2 https第一次访问会比较慢3 http 和https存在非常明显的差异,http和https第一访问用时性能差距十分明显,但第二次访问用时差距不大了。虽然服务器在墙外,但这个速度还是无法接受,整理了下需要回答这三个问题所需要用到的知识,关于更专业的tcp http https知识以后再整理成文章。文章目录1 HTTP和HTTPS1.1 HTTP1...

2018-11-29 13:54:51 3441

原创 Linux环境下更换Tomcat中运行的项目

首先需要进入Tomcat的bin目录下去使用./shutdown.sh命令去关闭当前tomcat,但是由于关不完全,所以还需要用到如下的命令查看当前运行项目,然后再使用如下命令关掉tomcat-9后面的参数是每次都会产生变化的,所以这个是需要自己手动去观察输入的,然后如果删除成功的话就会是最下面的反应,就只留下一个tomcat就代表当前运行项目的Tomcat已经被成功的关闭了。...

2018-11-14 15:02:56 807

原创 如何在Linux服务器上部署全新的Web项目

web项目都需要部署到linux服务器上才能在外网进行访问,首先我们使用ls命令查看tomcat中的版本然后再使用cd apache-tomcat-8.5.34然后cd webapss然后使用rz的命令来上传文件,上传文件后,使用cd bin命令进入bin目录下,最后使用./startup.sh启动tomcat最后就可以进行访问了...

2018-11-14 14:41:48 827

原创 Android四大组件之Activity

安卓的四大组件          1、Activity活动组件          2、Service服务组件          3、广播接收器          4、内容提供者Activity是什么?          Activity负责管理Android应用程序的用户界面。一个程序一般会包括若干个Activity。每一个Activity组件负责一个用户界面的展现。A...

2018-10-25 09:46:43 162

原创 Linux系统中的常用命令

ls:查看当前目录下的所有文件夹wget:根据后面的URL去指定的网址下载东西cd:进入某一个文件rm -f:删除指定文件rm -rf:删除指定文件夹vi /etc/profile:进行文件配置cd ../:返回上一级目录cp:把指定的文件复制到指定的文件夹...

2018-10-23 15:09:28 112

原创 Linux环境下配置Tomcat以及JAVA

作为JAVA程序员,Linux系统是必须要了解的,其实linux系统跟windows系统的区别就是一个是指令的系统,另一个是图形化界面,两者有所不同,今天自己尝试了一下在linux环境下配置tomcat以及jdk,有点耗费时间,可能是因为初次接触指令代码,下面我就来总结一下配置Tomcat:       首先使用wget指令,指令后面跟上tomcat的url,linux会根据这个地址自己去...

2018-10-23 14:58:54 6536 2

原创 HTTP协议的请求对象和响应对象

 HTTP协议:什么是HTTP,Http是超文本传输协议,从浏览器到服务器称为请求,从服务器回到浏览器称之为响应请求对象:(HttpServletRequest):请求对象分为请求头,请求行以及请求实体下面分别来讲一下:       请求行包括:传输方式(get或post) 请求的地址(url) 协议的版本       请求头中只有:只有键值对形式存在的参数      ...

2018-07-24 16:08:38 4261

原创 JavaScript的DOM操作

根据id查找元素:document.getElementById(传入Id的值);根据name查找元素:document.getElementByName(标签名);根据标签的名字获取标签的集合document.getElementByTagName(标签名);通过标签名得到标签的集合获取所有的子节点:首先通过id找到当前标签,并用当前标签对象获取它的子节点:var con =...

2018-07-19 13:32:33 141

原创 Spring框架--MVC注解的方式配置

1.导入jarspring核心包(4+1)spring-aopspring-webspring-webmvc2.在web.xml中配置前端控制器, 并且拦截所有请求(除了jsp以外)配置时可以直接通过快捷键生成,但是需要直接dispatcher然后进行快捷键提醒3.在springmvc的配置文件中配置三大组件(注解)&lt;!-- 三大组件 --&gt;&lt;...

2018-07-19 10:56:21 153

原创 Spring框架--MVC配置

在使用MVC时首先需要导入jar包,首先是Spring的核心包(4+1)Spring-web的包Spring-webmvc的包 然后在web.xml中配置前端控制器&lt;servlet&gt;&lt;servlet-name&gt;dispatcherServlet&lt;/servlet-name&gt;&lt;servlet-class&gt;org.spring...

2018-07-19 10:31:37 107

转载 面向对象之七大原则

单一职责,里氏替换,迪米特法则,依赖倒转,接口隔离,合成/聚合原则,开放-封闭 。1.   开闭原则(Open-Closed Principle, OCP)定义:软件实体应当对扩展开放,对修改关闭。这句话说得有点专业,更通俗一点讲,也就是:软件系统中包含的各种组件,例如模块(Modules)、类(Classes)以及功能(Functions)等等,应该在不修改现有代码的基础上,去扩展新功能...

2018-07-18 17:27:49 3877

转载 java的三种工厂模式

一,简单的工厂模式首先举一个例子:我们现在开了一家饭馆:然后呢我们的大厨可以做三种菜,还有一句潇洒的抱怨:   下面客人进场,开始点餐:我们观察上面的代码,虽然很好的完成了任务,但是,我们的三个实现类和和借口紧密的绑定到了一起,这意味着我们的代码耦合出现严重问题,不利于以后的维护,试想顾客点餐需要与后厨大厨直接接触,这肯定是一个不好的体验,那...

2018-07-18 15:09:28 148

转载 Struts2+Spring+Hibernate的工作流程及原理

Struts2框架一、简介       Struts2是一个相当强大的JavaWeb开源框架,是一个基于POJO的Action的MVCWeb框架。它基于当年的WebWork和XWork框架,继承其优点,同时做了相当的改进。1、Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程。2、使用OGNL进行参数传递。OGNL提供了在Struts2里...

2018-07-18 14:22:02 319

原创 Spring框架之事务处理

针对框架的事务处理主要有两种方式一种是通过配置XML来进行事务处理,还有一种就是通过注解的方式对其进行事务处理 需要注意的是在注入的时候需要在被注入的实现类写上对应的属性,并生成get和set方法,当service需要注入dao层的属性的时候需要在service的实现类中私有化dao层的属性也就是dao层的类名及其引用类型,而且还需要生成get和set方法首先是进行XML的配置首先...

2018-07-18 13:55:15 299

原创 Spring框架---AOP面向切面编程

AOP就是一个代理类,通过其动态代理来增强代码的复用性,解除代码的耦合性AOP的相关概念:1.目标类也就是需要代理的对象2.连接点(JoinPoint):理论上所有的方法都是连接点()3.切入点(PointCut):目标类中需要增强的方法(deleteUser())4.通知(advice):增强的方法(日志)5.切面(aspect):通知所在的类叫做切面,也就是说增强方法所...

2018-07-17 09:54:54 181

原创 Servlet路径问题

url-pattern可以随便配   但是只有一种不被允许     *.xxx结尾这种写法  前面不能加任何/请求转发路径问题:绝对路径:首先加一根/,然后/是在根目录的后面相对路径:在同级目录下去寻找想要跳转的页面的地址重定向路径问题:绝对路径:也同样是加一根/,但是/代表的是端口号之后,如果需要跳转到指定页面需要在层级目录前加一个根目录的名字相对路径:在同级目录下去...

2018-07-17 09:37:52 410

原创 什么是一次会话

什么是一次会话呢,在生活中一次会话就是一次聊天,那么在J2EE中的一次会话指的是什么呢?简单的说,打开浏览器,访问服务器,直到浏览器关闭,称为一次会话,严格的说,一次会话应该是依赖session的生成机制,那么什么是Session的生成机制呢?Session生成机制:首先服务器必须调用request.getSession(),如果请求中没有带sessionId的cookie,则服务器一...

2018-07-17 09:19:43 8439

原创 服务器Servlet的生命周期

初始化:    服务器启动默认不会初始化servlet对象,默认是第一次调用servlet程序的时候初始化,只初始化一次,说明一个服务器上的servlet应该是单例的。运行流程:    默认调用公共的service方法,将请求和响应参数进行了强转,强转之后会去调用受保护的service方法,获取请求的方式,根据请求的方式调用doGet或者是doPost,如果子类没有重写doGet和doPost则会...

2018-07-16 11:00:28 370

原创 Jsp讲解

首先说说什么是JSP:其实jsp就是一个web程序中的一个类似HTML的页面,但是如果仅仅是单纯的HTML我也就不会说了,因为单纯的HTML想必大家也知道是不能也java语句的,但是jsp页面既支持HTML语言也支持java更支持javaScript,所以功能比较强大,但是jsp的本质就是一个Servlet,也是一个Java类。那么下面我们也来讲讲jsp的一个运行流程(或者说为什么jsp页面修改后...

2018-07-16 10:58:26 261

原创 常用的包和类以及接口

这是一次面试时问到的问题,需要把Java中常用的包,类以及接口举出几个来,所以下面就整理出来,供大家参考要让人家感觉你对 java ee 开发很熟,所以,不能仅仅只列 core java 中的那些东西,要多 列你在做 ssh 项目中涉及的那些东西。就写你最近写的那些程序中涉及的那些类。   常用的类:BufferedReader BufferedWriter  FileReader FileWir...

2018-07-13 09:38:28 780

原创 Servlet API中forward() 与redirect()的区别

1、 forward是服务器端的转向也就是请求转发而redirect是客户端的跳转也就是重定向2、 使用forward浏览器的地址不会发生改变。而redirect会发生改变。3、 forward是一次请求中完成。而redirect是重新发起请求。4、 forward是在服务器端完成,而不用客户端重新发起请求,效率较高。那么下面我就对请求转发和重定向进行一个特点的区分:1、请求转发的特点: 1》只请...

2018-07-11 10:36:06 766

原创 JAVA二分查找法

//二分查找法(对升序的数组进行查找)public static int binarySearch(int[] arr,int aim){ int begin = 0; int end = arr.length-1; //开始用中间元素和目标元素对比 while(true){ int mid = (begin+end)/2; int midValue = arr[mid]; //如果midV...

2018-07-11 10:29:39 86

原创 Struts2的运行流程

浏览器向服务器发送一个请求的url,容器从服务器接收资源的请求,然后根据从web.xml加载的设置,容器会发现所有的请求都被路由到一个框架指定的拦截地址org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter包括*.action请求,StrutsPrepareAndExecuteFilter是框架的入口点然后框架会去查找名...

2018-07-11 10:17:02 84

原创 Java冒泡排序

冒泡排序的原始写法,后期的比较器都是基于冒泡排序的方式写的,所以知道冒泡排序怎么写很重要 public static void bubbing(int[] arr){ //控制查找最大的数的动作需要执行length-1次 for (int i = 1; i &lt; arr.length; i++) { //挑选出当前最大的数 for (int j = 0; j &lt; arr.l...

2018-07-06 16:01:02 280 1

原创 JAVA基本数据类型的字节与位数

变量名称 字节 位数byte 1 8short 2 16int         4 32long 8 64float 4 32double 8 64char         2 16boolean 1 8

2018-07-06 15:56:28 1278

原创 Mybatis持久层框架针对一对一与分布查询

一对一的关联查询: 1.sql语句使用表连接查询,映射结果使用嵌套的结果集,使用级联操作来映射结果 2.sql语句使用表连接,映射结果使用association 使用多表联查的情况需要单独写一个Vo类,并添加另一个表所在的po类的类名属性,然后再生成设置器以及访问器 &lt;resultMap type="Vo类的类名" id="empWithDept2"&gt; &lt;id c...

2018-07-06 15:54:17 207

原创 Mybatis数据库--关联查询

关联查询首先是表与表之间存在某种潜在的关系才会进行的一种查询操作,一对一的关联查询:员工--部门,一对多的关联查询部门--员工,应用场景:    在查询员工时需要查找出员工所在的部门的信息(一对一的查询),在查询部门的时候需要查询出部门下所有的员工(一对多)关联查询: 一对一: 1.sql语句使用表连接, 映射结果使用嵌套结果集, 是使用级联的方式来映射结果的 2.sql语句使用表连接, ...

2018-07-06 15:48:57 398

转载 Java的String对null对象的容错处理

最近在读《Thinking in Java》,看到这样一段话:Primitives that are fields in a class are automatically initialized to zero, as noted in the Everything Is an Object chapter. But the object references are initialized t...

2018-07-04 15:22:30 174

原创 异常的处理方法

1、如何定位异常:因为框架会有一个类似log4j的日志文件那么如果有异常就会在日志文件中打印出来,那么这个问题就会迎刃而解,直接看打印的日志文件就可以了,之后就是异常的处理2、如何根据客户提供的信息来处理异常:首先需要获取客户所提供的账户信息,然后再去检索一个大致的时间点,还有就是客户反应的功能性异常所在的接口以及实现类中去寻找异常,逐步把异常的范围控制在最小最精确,只有这样才能及时处理异常3、如...

2018-07-04 14:09:07 182

原创 TomCat容器处理特殊字符

在tomcat7以前参数值里面所有的特殊字符要么会在请求的时候甩掉要么就会直接变成乱码,没有办法在后台接收到前端传输的完整参数,但是在tomcat7以后对特殊字符有了特殊的处理,|,{,},这三个特殊字符如果存在值里面是不会出现任何异常的,但是如果这三个字符以外还有其他字符在值里面的话就会出现400的错误...

2018-07-04 13:56:46 1653

统计一共多少行代码

通过流的方式进行读取文件,然后根据指定的后缀去读取指定的文件,一行一行的阅读,读一行记录一行

2018-12-25

狼人杀法官APP

对狼人杀进行深度学习后写出的关于狼人杀的法官app,个人觉得很好用

2018-11-12

Excel转Json工具

把execl中的数据转换成json的java以及js可用的数据结构

2018-11-12

空空如也

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

TA关注的人

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