![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java筑基
慕容潇湘
代码搬运工
展开
-
手写@async
@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface PolyAsync {}@Slf4j@Aspect@Componentpublic class PolyAsyncAop { @Around(value = "@annotation(com.lxy.aop.PolyAsync)") public void aroud(ProceedingJoinPoint.原创 2022-02-14 17:09:55 · 217 阅读 · 0 评论 -
Spring生命周期-bean初始化和销毁方法
bean初始化依赖于构造器,何为构造器?构造器:一个特殊的方法,用于创建实例时执行初始化(各种框架以及设计模式都依赖构造器)作用:被其他方法调用,给对象初始化赋值。基本数据类型(默认值为0),布尔(默认为false),引用(默认为null),然后返回该类的实例注意:如果程序员没有为Java类提供任何构造器,则系统会为这个类提供一个无参数的构造器,这个构造器的执行体为空,不做任何事情。 无论如何,Java类至少包含一个构造器。构造器通常设置为public访问权限,允许系统中任何位置的类来创...原创 2020-11-25 15:17:39 · 290 阅读 · 1 评论 -
JVM 堆内存溢出后,其他线程是否可继续工作
首先,我们要明白ava中OOM分很多类型,比如:堆溢出(“java.lang.OutOfMemoryError: Java heap space”)永久带溢出(“java.lang.OutOfMemoryError:Permgen space”)不能创建线程(“java.lang.OutOfMemoryError:Unable to create new native thread”)等很多...原创 2019-11-28 17:16:47 · 579 阅读 · 0 评论 -
java的异常处理
一.异常了解异常处理可以使程序中的异常处理代码和正常业务代码分离,保证程序代码更加优雅,并可以提高程序的健壮性。 异常处理机制主要依赖于try,catch,throw和throws五个关键字,异常机制会保证finally块总被执行。 throws关键字主要在方法签名中使用,用于声明该方法可能抛出的异常; throw用于抛出一个实际的异常,throw可以单独作为语句使用,抛出一个具体的异常...原创 2018-12-05 23:51:27 · 373 阅读 · 0 评论 -
maven-nexus学习总结
一.nexus下载及配置1.1 下载 nexusNexus 是 Maven 仓库管理器,通过 nexus 可以搭建 maven 仓库,同时 nexus 还提供强大的仓库管理功能,构件搜索功能等。下载Nexus, 下载地址:http://www.sonatype.org/nexus/archived/附:https://www.sonatype.com/download-sonaty...原创 2018-12-03 00:00:08 · 1190 阅读 · 0 评论 -
mybatis之三剑客
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.0</version> </depe原创 2018-11-24 11:47:59 · 273 阅读 · 0 评论 -
springmvc注解配置
1.@ResponseBody <mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> ...原创 2018-11-12 22:32:58 · 111 阅读 · 0 评论 -
VSFTPD+nginx学习汇总
VSFTPD是基于FTP协议的,客户端浏览器是需要通过http协议访问图片 问题:getsebool: SELinux is disabledsetenforce: SELinux is disabled那么说明selinux已经被彻底的关闭了如果需要重新开启selinux,请按下面步骤:vi /etc/selinux/config更改为:SELINUX=1F...原创 2018-11-04 22:57:25 · 245 阅读 · 0 评论 -
nginx学习总结
1.安装Nginx下载nginx:http://nginx.org/en/download.html本教程下载nginx-1.14.0.zip(http://nginx.org/download/nginx-1.14.0.zip) 解压nginx-1.14.0.zip到自己的计算机,双击nginx.exe即可运行。访问 :http://localhost ser...原创 2018-12-31 01:27:28 · 133 阅读 · 0 评论 -
多线程-守护线程
守护线程的概念是: 当一个进程里,所有的线程都是守护线程的时候,结束当前进程。就好像一个公司有销售部,生产部这些和业务挂钩的部门。除此之外,还有后勤,行政等这些支持部门。如果一家公司销售部,生产部都解散了,那么只剩下后勤和行政,那么这家公司也可以解散了。守护线程就相当于那些支持部门,如果一个进程只剩下守护线程,那么进程就会自动结束。守护线程通常会被用来做日志,性能统计等工作。setD...原创 2019-04-11 14:56:18 · 154 阅读 · 0 评论 -
如何将一个java对象序列化到文件里?
在java中能被序列化的类必须实现Serializable接口,该接口没有任何抽象方法只是起到一个标记作用.ObjectOutputStream objectOutputStream=new ObjectOutputStream(new FileOutputStream("D://obj")); objectOutputStream.writeObject(qDingVo )...原创 2019-03-06 10:56:30 · 3641 阅读 · 0 评论 -
如何格式化日期
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate localDate = LocalDate.now(); String date = localDate.format(dateTimeFormatter); Sys...原创 2019-03-06 10:11:14 · 1177 阅读 · 0 评论 -
nginx学习总结(二)
什么是 Nginx?Nginx (engine x) 是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。什么是反向代理?反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表...转载 2019-02-26 09:38:23 · 110 阅读 · 0 评论 -
jvm学习总结
java.lang.management 可以操作查看jvm信息代码运行如下:vm options:可以设置JVM参数查看线程pid1. 堆设置o -Xms:初始堆大小o -Xmx:最大堆大小o -XX:Ne...原创 2019-10-28 10:01:58 · 86 阅读 · 0 评论 -
阿里云OSS学习总结
一.开发一个APP上传服务,需要有存储的支持,那么我们的解决方案将以下几种:1. 1 直接将图片保存到服务的硬盘1. 优点:开发便捷,成本低 2. 缺点:扩容困难1.2 使用分布式文件系统进行存储1. 优点:容易实现扩容 2. 缺点:开发复杂度稍大(尤其是开发复杂的功能)1.3 使用nfs做存储1. 优点:开发较为便捷 2. 缺点:需要有一定的运维知识进行部署和维护...原创 2019-02-28 17:29:43 · 1254 阅读 · 0 评论 -
Maven学习总结(二)
一 settings.xml中需要配置的内容1.1 设置本地仓库<localRepository>D:\develop\Maven\apache-maven-3.5.2\repository</localRepository>1.2 修改JDK版本 <profile> <id>jdk-1.7</id> ...原创 2018-10-09 17:23:10 · 365 阅读 · 0 评论 -
Python@java@C 比较
对所有的编程语言,他们的最后的目的其实就是两种:提高硬件的运行效率和提高程序员的开发效率。遗憾的是,这两点是不可能并存的!你只能选一样。在提高硬件的运行效率这一方面,C语言没有竞争者!举个简单的例子,实现一个列表,C语言用数组int a[3],经过编译以后变成了(基地址+偏移量)的方式。对于计算机来说,没有运算比加法更快,没有任何一种方法比(基地址+偏移量)的存取方法更快。C语言已经...原创 2018-09-26 09:16:58 · 2765 阅读 · 0 评论 -
高性能MySQL学习总结(六)
小结:如何设计最优的表结构 如何建立最好的索引 合理的设计查询 查询优化,索引优化,库表结构优化需要齐发并进,一个不落6.1.会什么查询速度会慢? 这需要了解查询的生命周期,清楚查询的时间消耗情况对于优化查询有很大的意义; 详:通常来说,查询的生命周期大致可以...原创 2018-10-01 00:10:46 · 330 阅读 · 0 评论 -
校验时间戳和签名
1.获取url链接里面的时间戳和签名 // 时间戳 String timestamp = qpMap.get("timestamp"); // 签名 String sign = qpMap.get("sign");2.进行校验 // 校验签名前后过期时间 ...原创 2018-08-06 18:52:25 · 9709 阅读 · 0 评论 -
debug断点调试进不去
1.首先确定程序和开发工具没问题,我就遇到过eclipse的问题导致进不去; 这种情况一:重启eclispse,清缓存; 情况二:百度debug断点调试进不去,其他情况暂不叙述;2.参数问题,有些项目设置了鉴权层,会对参数做校验,如果参数不对,根本就不到接口里。 这里可以看控制台代码,一般会报错的;3.如...原创 2018-08-06 14:32:22 · 13462 阅读 · 0 评论 -
解决乱码
eclipse 设置默认编码为Utf-8,需要设置的几处地方为: Window->Preferences->General ->Content Type->Text->JSP 最下面设置为UTF-8 Window->Preferences->General->Workspace 面板Text file encoding 选择UTF-8...原创 2018-07-31 15:49:53 · 130 阅读 · 0 评论 -
只需两步即可汉化git
第一步:下载汉化包 https://download.csdn.net/download/riju4713/10574701第二步:把压缩包中的msgs文件夹复制到Git安装目录/mingw64/share/git-gui/lib,我的安装目录如下:...原创 2018-08-03 18:07:02 · 9761 阅读 · 1 评论 -
如何实现获取下一年的今天的时间
1.demo1 Date date = new Date();// 取时间 Calendar calendar = new GregorianCalendar(); calendar.setTime(date); calendar.add(Calendar.YEAR, 1);// 把日期往后增加一...原创 2018-07-30 09:24:21 · 16515 阅读 · 0 评论 -
接口和抽象类的区别
接口:一种特殊“抽象类”,接口里不能包含普通方法,接口里的所有方法都是抽象方法。java8对接口进行了改进,允许在接口中定义默认方法,默认方法可以提供方法实现。接口是从多个相似类中抽象出来的规范,接口不提供任何实现。接口体现的是规范和实现分离的设计哲学。接口定义的是多个的是多个类共同的公共行为规范,这些行为是与外部交流的通道,这就意味着接口里通常定义一组公共方法。 接口是java一种重要的...原创 2018-08-15 14:33:20 · 279 阅读 · 0 评论 -
java8新增特性总结
Java 8新增的日期、时间API不仅包括了Instant、LocalDate、LocalDateTime、LocalTime等代表日期、时间的类,而且在java.time.format包下提供了一个DateTimeFormater格式器类,该类相当于前面介绍的DateFormat和SimpleDateFormat的合体,功能非常强大。与DateFormat和SimpleDateFormat类...原创 2018-08-15 14:32:09 · 4017 阅读 · 0 评论 -
zookeeper图形化的客户端工具
Zookeeper是一个维护配置信息、命名、提供分布式同步和提供群组服务的集中式服务。这些各种类型的服务以某种形式被分布式应用程序使用。每当应用程序实现这些服务都不可避免的引入大量的修复BUG和竞争条件的工作。因为实现这些服务的难度在于应用最初通常跳过它们,使应用程序在发生变化时不易维护并难以管理。即使做对了,当应用程序已经部署后,不同服务的实现也将会导致管理的复杂性。 ...转载 2018-09-30 21:09:11 · 10672 阅读 · 1 评论 -
Linux学习总结
Linux简介发展历史丹尼斯·里奇 肯·汤普逊系统内核汇编.B语言.C语言做为内核语言,发明unixlinus召集unix原班人马.发明了系统linus后更名为linux所谓的linux都是统称,具体版本都叫做发行版. 著名的发行版3.1 red hat : 目前全球最大的linux发行厂商.(收费)3.2 ubuntu:免费版本.界面比较好3.3 麒麟....原创 2018-09-30 21:10:33 · 291 阅读 · 0 评论 -
多线程的学习与总结
单线程: 只有一个顺序执行流 例如:单线程的程序如同只雇佣一个服务员的餐厅,他必须做完一件事情后才可以做下一件事情;多线程: 可以包含多个顺序执行流,多个顺序流之间互不干扰 例如:多线程的程序则如同雇佣多个服务于的餐厅,他们可以同时做多件事情创建启动线程控制线程以及多线程的同步操作线程池 多线程的四种方法:thread...原创 2018-09-24 09:30:44 · 129 阅读 · 0 评论 -
使用@Scheduled实现定时任务
1.maven <?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.原创 2018-08-09 10:16:56 · 2093 阅读 · 1 评论 -
JVM学习总结
这种状况很大程度上是由 Java 开发技术本身的一个重要优点导致的:在虚拟机层面隐藏了底层技术的复杂性以及机器与操作系统的差异性。运行程序的物理机器情况千差万别,而 Java 虚拟机则在千差万别的物理机上面建立了统一的运行平台,实现了在任意一台虚拟机上编译的程序都能在任何一台虚拟机上正常运行。这一极大的优势使得 Java 应用的开发比传统 C/C++应用的开发更高效和快捷,程序员可以把主要精力集中...原创 2018-09-24 09:30:25 · 128 阅读 · 0 评论 -
持续集成工具Jenkins
学习1:https://www.jianshu.com/p/0a2d08e0f6da学习2:https://my.oschina.net/xshuai/blog/1837180原创 2018-09-24 00:45:20 · 128 阅读 · 0 评论 -
com.alibaba.dubbo.rpc.RpcException: Forbid consumer 10.39.136.175 access service com.vanke.plat.stra
DEBUG [acs-admin-web] 2018-08-07 16:29:20.017 [http-apr-8080-exec-9] org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver - Resolving exception from handler [public...原创 2018-08-08 09:45:04 · 1426 阅读 · 0 评论