
JAVA
文章平均质量分 82
我如云影君如梦
这个作者很懒,什么都没留下…
展开
-
@JsonFormat 造成取出的时间比数据库慢8小时
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")sql 从数据库取出的时间(datetime) 转换为date 类型 ,为了格式化 为 "yyyy-MM-dd HH:mm:ss " 使用了以下注解@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")前端展示发现时间 比数据库存储的慢8小时, 这里我们只需 将注解更改为:@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", time...原创 2020-07-30 18:13:13 · 633 阅读 · 0 评论 -
冒泡排序、选择排序、插入排序
/** * 排序算法 */public class SortFunction { /** * 冒泡排序 : 相邻两个数 比较大小 重复 * 升序排列 * n 个数 进行冒泡排序 n-1 轮 排序完成 */ public static int[] bubbleSort(int[] array) { if (array.length == 0) return array; ...原创 2020-05-12 22:31:56 · 115 阅读 · 0 评论 -
Java 字符串反转
/**字符串反转*/public class Reserve {public static void main(String[] args) {// write your code here/** * 字符串反转 */// 方法一String str = “abcd”;str = new StringBuilder(str).reverse().toString();System.out.println(str);//方法二String str1 = "abcd";原创 2020-05-11 23:54:14 · 153 阅读 · 0 评论 -
Java double 类型比较大小
/**double 比较大小返回数组最大值*/public class CompareMax {public static void main(String[] args) {double[] arr = new double []{0, -1, 2, 4,3.0};/* List list = new ArrayList (arr.length );Collections.addAll(list, arr);System.out.println(list.size());原创 2020-05-11 23:51:43 · 1482 阅读 · 0 评论 -
java 将空格字符替换为特殊字符串
/** * 将 空格 替换为 特殊字符串 */public class BlankToString { // 请实现一个函数,将一个字符串中的每个空格替换成“%20”。 // 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 public static void main(String[] args) { String str = "We Are Happy"; String new_str.原创 2020-05-11 23:48:17 · 1875 阅读 · 0 评论 -
java 去除字符串 空格
/**去除 字符串空格*/public class TrimBlank {public static void main(String[] args) {String str = " acd xx oij "; // trim 只能去掉 字符串 两端空格 String new_str = str.trim(); System.out.println(new_str); /** * 方法一 * str.replace(" ", ""); 去掉所有空格,包括首尾、中间 */原创 2020-05-11 23:45:45 · 947 阅读 · 0 评论 -
idea 中git 将 dev 分支合并到 master 分支 或将master 分支 合并到dev 分支
1.将 当前dev 分支 合并到 master 分支: (1)切换到master 分支 点击 master 分支 .check out (2)选择local branches , 选择 自己的dev分支 ,点击 "merge" (3) git--> push 推送到 master 远程仓库 参考: https://blog.csdn...转载 2020-03-03 21:02:35 · 4036 阅读 · 1 评论 -
【Mybatis】insert/update 数据后返回关键字段
【Mybatis】insert/update 数据后返回关键字段1,插入insert场景:ID字段的值是数据库表“默认/表达式”(sys_guid())自动生成,插入一条数据到数据库后,需要获取该条数据的ID解决方案:xml中插入数据立即返回IDint insertExchangeInfoList(ExchangeInfoList infoDetail); //Dao...原创 2020-03-03 13:39:55 · 4531 阅读 · 2 评论 -
Java8 日期LocalDate使用
Java日期LocalDate使用在做报表统计时,需要对指定时间内的数据做统计,则需要使用到时间日期API在此使用的是java.util.Date的完美私生子LocalDate类 LocalDate方法介绍 now() : 从默认时区的系统时钟中获取当前日期。LocalDate l = LocalDate.now();System.out.println(l.plusYe...转载 2020-03-03 13:23:59 · 701 阅读 · 0 评论 -
Java 8 中 LocalDate 与Date 互相转换
// 01. java.util.Date --> java.time.LocalDateTimepublic void UDateToLocalDateTime() {java.util.Date date = new java.util.Date();Instant instant = date.toInstant();ZoneId zone = ZoneId.systemDef...转载 2020-03-03 13:21:18 · 565 阅读 · 0 评论 -
java 使用dom4j 解析 NodeName 相同 属性不同的xml
java 使用dom4j 解析 NodeName 相同 属性不同的xml通常我们使用的xml子节点name都是不同的,解析起来非常容易.exp:<root> <name>tom</name> <age>18</age></root>有时候我们会遇到 子节点name完全相同属性不同的x...原创 2019-11-26 22:07:50 · 752 阅读 · 0 评论 -
Java 同时替换 字符串中子串
最近做一个需求,发送短信.不同短信模板参数个数/类型不一样:public void Test(){ // 短信模板 String message_model = "尊敬的【0】先生/女士,有一笔订单需要您及时审核,订单号:【1】,客户姓名:【2】。"; // 判断是否 需要值替换 --> 模板包含数字 if(HasDigit(message_mod...原创 2019-09-27 20:09:15 · 997 阅读 · 0 评论 -
Java下载远程文件到本地
// 根据 远程地址 下载文件到指定位置public String downLoadFromUrl(String fileUrl,String fileName,String savePath) throws IOException{ //获取连接 URL url=new URL(fileUrl); HttpURLConnection ...原创 2019-08-20 22:50:32 · 667 阅读 · 0 评论 -
Java中indexOf() 、lastInedxOf()、subString()用法
indexOf()用法:1.indexOf(int ch) 在给定字符串中查找字符(ASCII),找到返回字符数组所对应的下标找不到返回-12.indexOf(String str)在给定符串中查找另一个字符串,如果此字符串中没有这样的字符,则返回 -1。3.indexOf(int ch,int fromIndex)从指定的下标开始查找某个字符,查找到返回下标,查找不到返回-14....原创 2018-12-21 16:14:14 · 537 阅读 · 0 评论 -
单例模式
简介单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。基本的实现思路单例模式要求类能够有...转载 2018-10-30 18:37:00 · 140 阅读 · 0 评论 -
SpringMVC工作流程
1、客户端通过url发送请求 ,2、DispatcherServlet前端控制器接收发过来的请求,根据请求处理器映射器HandlerMapping查找Handler (通过系统或自定义的映射器配置找到对应的handler)(可以是根据xml查找,也可以是根据注解查找 )3、HandlerMapping调用处理器适配器HandlerAdapter去执行Handler ,并将url映射...原创 2018-09-20 22:44:48 · 219 阅读 · 1 评论 -
Java基本数据类型与引用数据类型
一、基本数据类型:byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0long:长整型,在内存中占64位,即8个字节...原创 2018-09-20 21:31:42 · 192 阅读 · 0 评论 -
Java中日志的处理
日志是程序运行过程的信息,其数据能够帮助开发人员提前发现并避开异常,在错误发生后能够找到事件的起因,并纠正错误,达到预期的运行效果。在java开发中,日志系统是java项目中必不可少的组成部分。日志可以帮助我们快速的定位问题,记录程序运行过程中的情况,以便项目的监控和优化。我们在日常开发中主要使用的java日志框架组件有:log4j、SLF4J、logback、Commons Logging、lo...原创 2018-09-20 21:18:53 · 3362 阅读 · 0 评论 -
Tomcat的热部署
实现方式:编辑Tomcat的server.xml <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false&原创 2018-10-01 16:07:53 · 190 阅读 · 0 评论 -
centos7中java ,java -version 有效,但是javac无效的解决办法
在centos7中以rpm包安装jdk无需配置环境变量,terminal中输入java -verison及java 命令也是没问题的,但是javac的话就会提示没有此命令此时我们用yum来装原生的就行了:使用yum install java-devel (非管理员账号使用 sudo yum install java-devel命令)下载安装完毕后,再次输入 java...原创 2018-09-18 21:56:51 · 3533 阅读 · 4 评论 -
分布式与微服务 简单理解
分布式:分散压力。微服务:分散能力。分布式:不同模块部署在不同服务器上作用:分布式解决网站高并发带来问题集群:相同的服务多台服务器部署相同应用构成一个集群作用:通过负载均衡设备共同对外提供服务SOA[组装服务/ESB企业服务总线]业务系统分解为多个组件,让每个组件都独立提供离散,自治,可复用的服务能力通过服务的组合和编排来实现上层的业务流程作用:简化维护,降低整体风险,伸缩...原创 2018-09-17 23:52:52 · 734 阅读 · 0 评论 -
java(JSP)中几种获取项目路径方式
java(JSP)中几种获取项目路径方式在jsp和class文件中调用的相对路径不同。 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。 另:在Jsp,Servlet,Java中详细获得路径的方法! 1.jsp中取...转载 2018-09-15 23:22:07 · 894 阅读 · 0 评论 -
JSP获取页面路径
ActionContext、ServletContext、pageContext的区别?ActionContext是当前的Action的上下文环境,通过ActionContext可以获取到request、session、ServletContext等与Action有关的对象的引用; ServletContext是域对象,一个web应用中只有一个ServletContext,生命周期伴随整个we...转载 2018-09-15 23:23:42 · 4964 阅读 · 0 评论 -
Shiro进行权限控制的四种方式
shiro进行权限控制的四种方式个人分类: 知识点我们使用shiro进行权限控制 有以下几种方式1. URL拦截权限控制:基于filter过滤器实现我们在spring配置文件中配置shiroFilter时配置<!--指定URL级别拦截策略 --><property name="filterChainDefinitions"> <value>...转载 2018-09-15 23:25:06 · 605 阅读 · 0 评论 -
Java商城系统面试题(一)
商城面试题1. 单点登录系统A.如果cookie被禁用了怎么办?B.如果拿到了cookie里面的ticket是不是就能登录了?C.如果一个用户账号在两台电脑登录会有什么问题?怎么解决?D.单点登录系统用的是什么框架做的?(一般都是说自己写的)没用框架怎么做?E.单点登录系统做了多久?(学员大部分回答是2-4个月)都做了哪些功能模块。2. 前台系统A. 怎样保证缓存...原创 2018-09-16 15:55:41 · 4514 阅读 · 2 评论 -
java 基础面试题(部分)
1. JDK是什么?JRE是什么?a) 答:JDK:java开发工具包。JRE:java运行时环境。JDK包含JRE,编译器和其他的工具(如JavaDoc、Java调试器);2. 什么是java的平台无关性?a) 答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。3. 在一台...原创 2018-09-16 15:59:36 · 353 阅读 · 0 评论 -
商城系统面试题(二)
1.freemarker生成的静态化页面,如果商品的信息更改以后,会不会生成新的静态化化页面,freemarker静态化页面的数据是从哪里调用出来的,如果不是从数据里面掉的数据的,这个地方需要用到同步,和谁同步?答案:1.如果商品信息更改以后,是需要生成新的静态化页面。(注意:淘淘商城中没有修改商品然后生成新的静态化页面的逻辑,实际中是需要这一部分逻辑的); 2.freemark...原创 2018-09-16 16:05:33 · 3047 阅读 · 0 评论 -
Java商城面试题(三)
SSO单点登录:SSO系统:这里涉及到拦截器。 这里是利用了sso的接口文档,即校验接口、注册、登录接口、根据token查询用户接口、安全退出接口。 这个的调用服务层是利用jsonp的形式访问的服务接口,实现跨域访问。客户端全部在jsp页面实现的。具体流程: 当用户点击注册的时候,跳转到注册页面,即用户信息的保存功能。检验用户名是否存在、手机号和邮箱不能...原创 2018-09-16 16:09:59 · 4193 阅读 · 0 评论 -
Shiro授权与MD5盐值加密
1. 授权需要继承 AuthorizingRealm 类, 并实现其 doGetAuthorizationInfo 方法2. AuthorizingRealm 类继承自 AuthenticatingRealm, 但没有实现 AuthenticatingRealm 中的 doGetAuthenticationInfo, 所以认证和授权只需要继承 AuthorizingRealm 就可以了. 同时...原创 2018-09-16 16:16:24 · 214 阅读 · 0 评论 -
Shiro的Xml配置
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www原创 2018-09-16 16:18:12 · 723 阅读 · 0 评论 -
MD5盐值加密
1. 什么是加盐值?为了加强MD5加密算法的安全性(本身是不可逆的),从而加入了新的算法部分即加盐值,加盐值是随机生成的一组字符串,可以包括随机的大小写字母、数字、字符,位数可以根据要求而不一样,使用不同的加盐值产生的最终密文是不一样的。2. 代码中如何使用加盐值?由于使用加盐值以后的密码相当的安全,即便是你获得了其中的salt和最终密文,破解也是一个耗费相当多时间的过程,可以说是破解...转载 2018-09-16 16:45:34 · 2466 阅读 · 0 评论 -
Java常见数据结构与算法
一、线性表 1.数组实现 2.链表二、栈与队列三、树与二叉树 1.树 2.二叉树基本概念 3.二叉查找树 4.平衡二叉树 5.红黑树一、线性表线性表是最常用且最简单的一种数据结构,它是n个数据元素的有限序列。实现线性表的方式一般有两种,一种是使用数组存储线性表的元素,即用一组连续的存储单元依次存储线性表的数据元素。另一种是使用链表存储线性表的元素,即用...原创 2018-09-16 16:55:00 · 2549 阅读 · 0 评论 -
冒泡排序算法
/** * 冒泡排序 */ int [] a = {5,7,13,2,-6 ,23,14,12,-3,8,15,4}; /** * 冒泡排序算法一 * 降序排列 */ int len = a.length; for (; -- len>0 ; ) { for(int i = 0 ; i< len ; ++i){ ...原创 2018-09-17 16:23:24 · 1127 阅读 · 4 评论 -
mysql千万级大数据SQL查询优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t ...转载 2018-09-17 20:53:17 · 178 阅读 · 0 评论 -
Redis面试题及答案
(本文转载自 Java技术栈 https://blog.youkuaiyun.com/youanyyou/article/details/79243628 文末有公众号二维码 )1、什么是Redis?2、Redis相比memcached有哪些优势?3、Redis支持哪几种数据类型?4、Redis主要消耗什么物理资源?5、Redis的全称是什么?6、Redis有哪几种数据淘汰策略?...转载 2018-09-17 20:59:16 · 351 阅读 · 0 评论 -
SpringMVC生成4位随机验证码
/* * * 生成4位随机验证码(字母+数字) */@Controller@RequestMapping("/")public class CheckCodeHandler { //产生随机的字体 private Font getFont(){ //创建random对象,用于生产随机数 Random random = new Random(); ...原创 2018-09-17 23:29:03 · 808 阅读 · 0 评论 -
Java发送邮件简单工具类
/** * @Title: MailHelper.java * @Package * @Description:mail工具类* @author **** * @date * @version V1.0 */ public class MailHelper{ /** * 简单的发邮件方式 邮件内容只有标题和邮件内容 支持单个个用户发送 ...原创 2018-09-17 23:33:19 · 297 阅读 · 0 评论 -
什么是线程安全
当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么这个类就是线程安全的。也可以理解为:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。线程安全也是有几个级...原创 2018-09-17 23:45:07 · 187 阅读 · 0 评论 -
Java中Date各种相关用法
Java中Date各种相关用法Java中Date各种相关用法(一)1.计算某一月份的最大天数Java代码Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 in...转载 2018-09-15 23:12:04 · 172 阅读 · 0 评论