
Java
moxiaomo0804
这个作者很懒,什么都没留下…
展开
-
Java Date类 日期、毫秒、天数之间的各种转换
1,将毫秒转换为日期import java.text.SimpleDateFormat;import java.util.Calendar;public class demo1 { /** * @param args */ public static void main(String[] args) { // SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); long nowTime =原创 2020-06-06 14:21:03 · 1300 阅读 · 0 评论 -
JAVA中的值传递和引用传递
首先,不要纠结于 Pass By Value 和 Pass By Reference 的字面上的意义,否则很容易陷入所谓的“一切传引用其实本质上是传值”这种并不能解决问题无意义论战中。更何况,要想知道Java到底是传值还是传引用,起码你要先知道传值和传引用的准确含义吧?可是如果你已经知道了这两个名字的准确含义,那么你自己就能判断Java到底是传值还是传引用。这就好像用大学的名词来解释高中的题目...转载 2020-03-29 09:52:25 · 293 阅读 · 0 评论 -
Java生产环境下性能监控与调优详解完整学习笔记
本文主要内容包含 JVM的参数类型 jinfo & jps(参数和进程查看) jstat(类加载、垃圾收集、JIT 编译) jmap+MAT(内存溢出) jstack(线程、死循环、死锁) JVisualVM(本地和远程可视化监控) 使用 BTrace 进行拦截调试 Tomcat 性能监控与调优 Ng...原创 2020-03-29 09:53:11 · 665 阅读 · 0 评论 -
Maven总结
一、前言现在的Java项目中,Maven随处可见。Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案,如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何运行起来的...回想一下,当你新到一家公司,安装完JDK后就会安装配置Maven,很大可能性你需要修改settings.xml文件,比如你会...原创 2019-11-27 18:13:54 · 239 阅读 · 0 评论 -
减少接口的响应时间
我们在开发过程中,当然是希望自己项目接口的响应时间越短越好,至少我看着自己开发出来的代码,都是毫秒级的响应,会有一种自豪感;那么我们项目做了哪些优化,和大家分享分享。优化代码先从小处着手,代码写的好坏,直接影响到接口的响应速度;当然这里也不可能展开详谈每一行代码怎么写,主要还是说一下措施: 代码规范:我经常会以自己的标准去衡量其他开发人员代码的好坏,虽然我也不是什么大牛,但毕竟做了十...原创 2019-11-21 17:36:32 · 370 阅读 · 0 评论 -
Rides或者Zookeeper实现分布式锁
一、常规锁会造成什么情况? 二、分布式锁怎么去处理? 三、分布式锁的实现有哪些? 四、在Zookeeper中如何加锁? 首先,分布式锁和我们平常讲到的锁原理基本一样,目的就是确保在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。在一个进程中,也就是一个jvm或者说应用中,我们很容易去处理控制,在jdk java.util并发包中已经为我们...原创 2019-11-21 16:26:48 · 366 阅读 · 0 评论 -
Java开发中使用枚举自定义异常
异常枚举类:public enum ErrorCodeEnum { SYS_ERROR("SYS_ERROR", "系统错误,请重试"), UNKNOWN_ERROR("UNKNOWN_SYS_ERROR", "未知的系统异常"), SERVICE_INVOKE_FAIL("SERVICE_INVOKE_FAIL", "服务调用失败"), ILLEGAL_AR...原创 2019-11-21 14:48:32 · 1298 阅读 · 0 评论 -
List加载因子和扩容因子
原文转自http://www.cnblogs.com/xiezie/p/5511840.html这里要讨论这些常用的默认初始容量和扩容的原因是:当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使效率大大降低。加载因子的系数小于等于1,意指 即当 元素个数 超过...转载 2019-11-12 16:04:48 · 555 阅读 · 0 评论 -
maven项目报错java.lang.ClassNotFoundException: org.springframework.web.filter.HiddenHttpMethodFilter
解决方法:右键project->properties ->deploy assembly ->add -> java build path entries -> maven dependencies -> finish原创 2019-06-15 14:25:46 · 1606 阅读 · 0 评论 -
tomcat启动错误解决方式汇总-Could not publish server configuration for Tomcat v7.0 Server at localhost.
错误:Could not publish server configuration for Tomcat v7.0 Server at localhost.Multiple Contexts have a path of "/romver".解决方式一:在工作空间的以下路径找到server.xml文件,将其中重复的记录删除一条。D:\Tools\eclipse-workspac...原创 2019-06-15 11:57:54 · 772 阅读 · 0 评论 -
eclipse导入项目时,项目名出现红叉报错,并且无法run on server
1、编码问题:window->Preferences->General->Wrokspace->Text file encoding->Other 选utf-82、原项目使用的tomcat版本与当前tomcat版本不一致解决方法:window->Preferences->server->Runtime Environments 添加对应...原创 2019-06-19 12:45:56 · 2517 阅读 · 0 评论 -
JdbcTemplate功能与用法总结
一、引入jar包,导入log4j.properties二、步骤1、定义目标类,提供get,set,tostring方法2、编写目标类dao层接口public interface UserDao { int add(User user); int delete(Long uid); int update(User user); User queryById(Long u...原创 2019-06-19 12:22:49 · 5043 阅读 · 0 评论 -
AspectJ
一、简介AspectJ是一个基于Java语言的AOP框架 Spring2.0以后新增了对AspectJ切点表达式支持 @AspectJ 是AspectJ1.5新增功能,通过JDK5注解技术,允许直接在Bean类中定义切面二、AspectJ通知类型三、开发步骤1、导包先引入Spring框架开发的基本开发包再引入Spring框架的AOP的开发包spring的传统AOP...原创 2019-06-18 20:57:36 · 1549 阅读 · 0 评论 -
Spring的AOP编程
目录一、AOP开发中的相关术语二、spring-aop编程三、spring配置一、AOP开发中的相关术语1. Joinpoint(连接点) -- 所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring只支持方法类型的连接点 2. Pointcut(切入点) -- 所谓切入点是指我们要对哪些Joinpoint进行拦截的定义...原创 2019-06-18 20:01:04 · 277 阅读 · 0 评论 -
validate实现表单验证
目录一、简介二、使用方法1、导库2、 通过jqrery的选择器找到要验证的表单3、在validate中编写校验规则实例:三、实例笔记:四、验证规则:一、简介validate是一款优秀的表单验证插件,内置验证规则:拥有必填、数字、email、url和信用卡号码等19类内置验证规则 自定义验证规则:可以很方便的 自定义验证规则 简单强大的验证信...原创 2019-06-01 17:05:34 · 2396 阅读 · 0 评论 -
filter解决全局中文乱码问题
解决思路:使用适配器模式对产生乱码的方法进行增强1、filter中将request转换成增强后有requestpackage cn.itcast.crm.web.filter; import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.Map; impor...原创 2019-06-01 15:56:11 · 1098 阅读 · 0 评论 -
冒泡排序、选择排序
一、冒泡排序定义:相邻的两个值比较, 然后交换位置, 每次循环都会将有效元素中最大的或最小的移动到有效位的最后经过多次循环之后,就可以排出一个有序的数组。import java.util.Arrays;public class BubbleSort { public static void main(String[] args) { int[] arr = { 98, 7...原创 2019-05-18 17:35:11 · 282 阅读 · 0 评论 -
maven下文件夹变成灰黑色解决方案
选中src/test/java右键BuildPath->ConfigureBuildPath选择Source双击Containstestsource:yes之后其会变成Containstestsource:no然后apply将变灰文件夹都操作:选中src/test/java右键BuildPath->ConfigureBuildPath选择Sour...原创 2019-06-20 10:54:30 · 2858 阅读 · 0 评论 -
maven项目中jar包显示灰色解决方案
问题:解决方案:将<scope>test<scope>注释或者删除。原创 2019-06-22 17:40:28 · 6197 阅读 · 2 评论 -
Eclipse项目右键无法找到Java EE Tools选项问题解决方案
1、在Eclipse中菜单help选项中选择install new software选项2、在work with 栏中输入 Juno - http://download.eclipse.org/releases/juno进行搜索3、选择Web, XML, Java EE and OSGi Enterprise Development选项,然后选择,点击next,等待一会重启ecli...原创 2019-06-18 18:56:20 · 7204 阅读 · 7 评论 -
线程之龟兔赛跑
题目要求:需求: 乌龟和兔子赛跑总赛程100m, 兔子的速度是10m/s, 乌龟的速度是5m/s.乌龟和兔子都是每跑完10米输出一次结果, 当兔子跑到70米的时候休息2s ,编程模拟比赛过程public void runTest() { Thread t1 = new Thread("小乌龟") { public void run() { int count = 0; ...原创 2019-04-27 17:49:00 · 1640 阅读 · 0 评论 -
统计重复元素出现次数(字符串和数组)
一、字符串:public class 重复元素计数 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println(""); String str = sc.nextLine(); HashMap<Character, Integer...原创 2019-08-05 15:04:26 · 1389 阅读 · 0 评论 -
实现HashMap的排序
已知一个HashMap<Integer, User>集合, User有name (String) 和 age (int) 属性,请写一个方法实现对HashMap的排序功能,该方法接受HashMap<Integer, User>为形参,返回类型为HashMap<Integer, User>,要求对HashMap中的User的age倒序进行排序,排序时key==va...原创 2019-08-05 12:59:50 · 344 阅读 · 0 评论 -
作用自定义的servlet开发模板,提升开发效率
一、示例在使用组件方式新建的servlet中,按ctrl+a全选然后输入serv然后alt+/自动补全二、servlet模板package ${enclosing_package};import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpSe...原创 2019-06-29 11:18:21 · 304 阅读 · 0 评论 -
ssm整合时的配置文件
一、web.xml1、配置监听器,用来扫描classpath:applicationContext-*.xml下面的各类配置文件<!-- 配置Spring的配置文件 去加载spring的配置文件 --> <listener> <!-- 默认是去WEB-INF下找 applicationContext.xml配置文件--> <li...原创 2019-06-28 21:02:55 · 421 阅读 · 0 评论 -
idea创建Javaweb工程Servlet时报错Error:(7, 53) java: 程序包javax.servlet.http不存在
缺少指定的环境:解决方法:一、选择project structure二、添加依赖三、选择Library 四、点击add select添加五、在dependencies中打勾选中然后应用更改...原创 2019-06-27 16:50:12 · 3806 阅读 · 0 评论 -
The POM for org.csource:fastdfs-client-java:jar:1.27-RELEASE is missing
报错原因为本地的maven仓库中没有fastdfs的jar包地址解决方法:1,首先去我的github上下载下来fastdfs的压缩包直接下载地址:https://github.com/wangwei216/fastdfs-client-java-master然后直接解压出来2,使用cmd命令行 使用cd命令走到到你自己下载到的目录下,然后使用mvn clean install...转载 2019-07-02 20:40:57 · 4038 阅读 · 0 评论 -
activiti部署报错 resource '*‘.bpmn'not found
错误:在网上找了一天的问题也没有找到解决方案最后还是通过自己找到解决的办法点击项目build path->configure build path点击source,将included与excluded都romove掉变成All各None再次运行结果正常打印,虽然不明白原理但好在解决了问题。...原创 2019-06-24 11:34:51 · 3607 阅读 · 2 评论 -
AOP的底层实现
一、Srping框架的AOP技术底层也是采用的代理技术,代理的方式提供了两种二、代理模式1、jdk动态代理2、CGLIB字节码增强一、Srping框架的AOP技术底层也是采用的代理技术,代理的方式提供了两种 1. 基于JDK的动态代理 必须是面向接口的,只有实现了具体接口的类才能生成代理对象 2. 基于CGLIB动态代理...原创 2019-06-18 19:25:31 · 3580 阅读 · 0 评论 -
反转数组、返回指定元素下标
一、反转数组将数组中的元素按照排列顺序反转, 例如角标0和最后一个角标位上的元素交换public static void reverse(int[] arr){ //数组中的元素前后交换, 遍历的次数只能是数组长度的一半 for (int i = 0; i < arr.length/2; i++) { int temp = arr[i]; arr[i] = arr[ar...原创 2019-05-18 16:08:17 · 1601 阅读 · 0 评论 -
使用cookie记录上一次登录时间
代码实现:public class LoginTimeServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentTyp...原创 2019-05-25 19:16:21 · 956 阅读 · 0 评论 -
ThreadLocal简介与使用方法
1、定义ThreadLocal是线程的本地变量, 是一个存储变量的容器, 存入到这个容器中的变量的变量可以在线程的任何位置取出.ThreadLocal中的变量是使用线程分离的, 别的线程无法使用,保证了变量的安全性2、示例public class TestDemo { //用一个静态的变量来记录ThreadLocal对象,方法在任何地方法直接调用 static ThreadL...原创 2019-04-29 11:30:50 · 4441 阅读 · 0 评论 -
线程之间的相互唤醒通信
1、两个线程交替运行public static void test1() { new Thread() { public void run() { synchronized (Class.class) { while (true) { //通知对方 Clas...原创 2019-04-29 11:21:37 · 759 阅读 · 0 评论 -
多线程之火车站多窗口买票
火车站总共有100张票, 四个窗口同时卖票, 当票卖光了之后,提示"没票了...",public class Train{ static int num = 100; public class Train { static int num = 100; public static void main(String[] args) { Runnable r = new Runnab...原创 2019-04-29 10:58:56 · 688 阅读 · 0 评论 -
统计字符串中重复元素出现的次数
首先输入一个字符串,然后使用toCharArray()方法将其转换成字符数组,后遍历数组,创建HashMap集合存放字符和过元素出现的次数、、、public class TestDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.prin...原创 2019-04-24 13:26:28 · 2737 阅读 · 0 评论 -
Java中string类concat方法和+的区别
一、concat:将指定字符串连接到此字符串的结尾。如果参数字符串的长度为0,则返回此String对象。否则,创建一个新的 String对象,用来表示由此String,对象表示的字符序列和参数字符串表示的字符序列连接而成的字符序列。示例:"cares".concat("s") returns "caress""to".concat("get").concat("her") ret...转载 2019-04-24 09:51:35 · 1695 阅读 · 0 评论 -
生产者消费者之包子顾客问题
现有一个包子铺, 有两名员工在不停的做包子, 一秒钟做一个, 当包子铺的包子总数达到100的时候, 停止做包子. 现有多名顾客同时吃包子, 当包子已经吃完的时候, 等着员工生产包子, 当有了包子就继续吃public class test { static int num =0; public static void main(String[] args) { R...原创 2019-04-28 11:13:45 · 488 阅读 · 0 评论 -
JAVA中Comparable与Comparator区别总结
1、Comparable简介Comparable是排序接口。若一个子类实现了Comparable接口,就意味着该类支持排序。并且可以通过Collections.sort与Arrays.sort进行排序。此外,实现此接口的对象可以用作有序映射中的键或者有序集合,无需指定比较器。接口定义如下:package java.lang;import java.util.*;public in...原创 2019-04-22 17:32:21 · 437 阅读 · 0 评论 -
复制一个视频, 提示用户百分比完成度
public static void copyVideo() throws Exception{ File file = new File("d:\\test.mp4"); FileInputStream fis = new FileInputStream(file); FileOutputStream fos = new FileOutputStream("d:\\test-...原创 2019-04-26 13:12:48 · 252 阅读 · 0 评论 -
将一个文件夹复制到另一个地方
public static void copyFile(String srcname,String target) throws Exception{ File srcfile = new File(srcname); //将原文件目录在目标文件夹下创建 File targfile = new File(target,srcfile.getName()); targf...原创 2019-04-26 12:40:32 · 816 阅读 · 0 评论