随笔分类 - java
摘要:前言 权限的动态的验证,也就是实现Spring Security的决策管理器AccessDecisionManager。 权限资源 SecurityMetadataSource 要实现动态的权限验证,当然要先有对应的访问权限资源了。Spring Security是通过SecurityMetadata
阅读全文
摘要:JVM启动前静态Instrument# Javaagent 是什么? Javaagent是java命令的一个参数。参数 javaagent 可以用于指定一个 jar 包,并且对该 java 包有2个要求: 这个 jar 包的 MANIFEST.MF 文件必须指定 Premain-Class 项。 P
阅读全文
摘要:在面试后台开发的过程中,集合是面试的热话题,不仅要知道各集合的区别用法,还要知道集合的扩容机制,今天我们就来谈下ArrayList 和 HashMap的默认大小以及扩容机制。 在 Java 7 中,查看源码可以知道:ArrayList 的默认大小是 10 个元素,HashMap 的默认大小是16个元
阅读全文
摘要:文章目录从CPU到内存模型内存模型如何确保缓存一致性并发变成需要解决的问题 (原子性、可见性、有序性)内存模型需要解决的问题Java内存模型JMM的API实现原子性 synchronized可见性 volatile 、 synchronized 、 final有序性 synchronized 、vo
阅读全文
摘要:我们先看一段代码: 启动两个线程,每个线程中让静态变量count循环累加100次。 最终输出的count结果一定是200吗?因为这段代码是非线程安全的,所以最终的自增结果很可能会小于200。我们再加上synchronized同步锁,再来看一下。 加了同步锁之后,count自增的操作变成了原子性操作,
阅读全文
摘要:JavaSE部分之(1)Java基础 1、为什么重写equals还要重写hashcode为了提高程序的效率才实现了hashcode方法,先进行hashcode的比较,如果不同,那就没必要再进行equals的比较了,这样就大大减少了equals比较的次数,在需要进行大量比较的情况下可以显著的提高效率,
阅读全文
摘要:目录 1. 单例模式 1.饿汉式 2.懒汉式 2. 工厂设计模式 1. 普通工厂模式 2. 多个工厂方法模式 3. 静态工厂方法模式 3. 建造者模式 4. 适配器设计模式 1. 类的适配器模式: 2. 对象的适配器模式 3. 接口的适配器模式 5. 装饰模式 6. 策略模式 7. 代理模式 1.
阅读全文
摘要:一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石
阅读全文
摘要:首先我们看下各个模式之间的关系图,下面这张图是网上比较典型的一个类图关系: 从上面的类图之间可以看出,学习设计模式或者说学懂完全理解所有的设计模式还是挺难的,只能说不断的重复学习,不断的去领悟才是唯一的方法,当然不排除有些人是天才看一篇就学会了,可惜鄙人不是,所以必须不断重复学习来加深自己的理解。个
阅读全文
摘要:1. 概述 G1垃圾回收器是在Java7 update 4之后引入的一个新的垃圾回收器。G1是一个分代的,增量的,并行与并发的标记-复制垃圾回收器。它的设计目标是为了适应现在不断扩大的内存和不断增加的处理器数量,进一步降低暂停时间(pause time),同时兼顾良好的吞吐量。G1回收器和CMS比起
阅读全文
摘要:简要解释: 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。 可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。 序列化是为了解决在对对象流进行读写操作时所引发的问题。 序列化的实现:将需要被序列化的类实现Serializable接口, 该接口没有需要实现的
阅读全文
摘要:命令实例:nohup java -Xms500m -Xmx500m -Xmn250m -Xss256k -server -XX:+HeapDumpOnOutOfMemoryError -jar $JAR_PATH/test-0.0.1-SNAPSHOT.jar --spring.profiles.a
阅读全文
摘要:昨天在弄腾讯企业邮发送邮件后台,中间遇到了一个问题,就是在本地服务器可以正常发送邮件,但是布署到阿里云服务器就不行,于是在网上找了大半天解决方法,前后修修改改也花费了几个小时,直到快下班了才弄出来,所以在这里列出写个博客,记录一下自己的问题,顺带也贴上自己写的工具类代码,希望能帮助到更多开发者。 阿
阅读全文
摘要:<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</f
阅读全文
摘要:处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。 对于线上系统突然产
阅读全文
摘要:jstack Dump 日志文件中的线程状态 dump 文件里,值得关注的线程状态有: 死锁,Deadlock(重点关注) 执行中,Runnable 等待资源,Waiting on condition(重点关注) 等待获取监视器,Waiting on monitor entry(重点关注) 暂停,S
阅读全文
摘要:在idea中通过maven启动项目时,在前台显示数据库信息,没有中文乱码问题,在控制台中mybatis显示数据库的信息,中文显示乱码。 在程序中用 System.out.println 输出中文的时候也显示乱码。以前使用idea中的启动类启动Javaweb项目时,没出现过这种错误。 出现这种错误首先
阅读全文
摘要:在linux服务器上运行Jar文件时通常的方法是:$ java -jar test.jar这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务,有没有办法让Jar在后台运行呢:方法一:$ nohup java -jar test.jar & //nohup 意思是不挂断运
阅读全文
摘要:访问Oracle官网 http://www.oracle.com,浏览到首页的底部菜单 ,然后按下图提示操作: 2.点击“JDK DOWNLOAD”按钮: 3.选择“Accept Lisence Agreement”同意协议: 4.点击Mac OS X x64后面的下载链接: 下载完成后点击安装包,
阅读全文
摘要:1、前言 最近项目需要搭建maven私服,方便管理后期团队成员使用上传自己的包,因此决定使用nexus来搭建私服,搭建好的nexus地址。 2、准备工作 阿里云服务器ECS一台 1核CPU 2G内存(注意:最低为2G,否则运行报错) 3、开始安装 3.1 安装java java的安装网上的文章好多,
阅读全文

浙公网安备 33010602011771号