java基础
文章平均质量分 94
java金融
公众号:java金融
展开
-
Java高并发编程基础三大利器之CountDownLatch
#引言上一篇问章我们介绍了AQS的信号量Semaphore,接下来#什么是#引言上一篇问章我们介绍了AQS的信号量Semaphore,接下来#什么是countDownLatchCountDownLatch是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执行完毕后,计数器的值就-1,当计数器的值为0时,表示所有线程都执行完毕,然后在闭锁上等待的线程就可以恢复工作了。#应用场景说了这么多,CountDownLatch可以用来干什么呢?有什么应用场景?实际项目中有应用的场景吗?这应原创 2021-03-11 10:20:02 · 165 阅读 · 2 评论 -
Java高并发编程基础三大利器之Semaphore
什么是共享锁原创 2021-03-04 10:16:30 · 194 阅读 · 0 评论 -
java高并发基础之AQS
引言曾经有一道比较比较经典的面试题“你能够说说java的并发包下面有哪些常见的类?”大多数人应该都可以说出CountDownLatch、CyclicBarrier、Sempahore多线程并发三大利器。这三大利器都是通过AbstractQueuedSynchronizer抽象类(下面简写AQS)来实现的,所以学习三大利器之前我们有必要先来学习下AQS。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架AQS结构说到同步我们如何来保证同步?大家第一印象肯定是加锁了,原创 2021-03-01 16:04:03 · 134 阅读 · 2 评论 -
面试必备java字符串
引言众所周知在java里面除了8种基本数据类型的话,还有一种特殊的类型String,这个类型是我们每天搬砖都基本上要使用它。String 类型可能是 Java 中应用最频繁的引用类型,但它的性能问题却常常被忽略。高效的使用字符串,可以提升系统的整体性能。当然,要做到高效使用字符串,需要深入了解其特性。String类我们可以看下String类的源码:public final class String implements java.io.Serializable, Comparable&原创 2020-11-27 11:27:34 · 135 阅读 · 1 评论 -
【Java】变量声明在循环体内还是循环体外你选哪一个咧?
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-11-06 12:41:13 · 948 阅读 · 0 评论 -
这4种ThreadLocal你都知道吗?
面试官问ThreadLocal?我一口气跟他说了四种直接把他整懵了!原创 2020-09-11 10:41:06 · 1274 阅读 · 0 评论 -
万恶的NPE差点让我半个月工资没了
防止 NPE ,是程序员的基本修养原创 2020-06-03 11:48:56 · 824 阅读 · 0 评论 -
在项目中随手把haseMap改成了currenHaseMap差点被公司给开除了。
在项目中随手把haseMap改成了currenHaseMap差点被公司给开除了。原创 2020-05-17 18:03:11 · 476 阅读 · 0 评论 -
spring mvc 集成quartz
首先quartz配置文件 # Default Properties file for use by StdSchedulerFactory# to create a Quartz Scheduler Instance, if a different# properties file is not explicitly specified.##====================...原创 2018-06-12 14:28:35 · 671 阅读 · 0 评论 -
中文乱码 encodeURI来解决URL传递时的中文问题
[size=large] 通过URL传中文参数时,在服务端后台获取到的值往往会出现乱码。解决方案有很多种。本文介绍如何通过encodeURI来解决中文乱码问题。首先,在前端页面准备参数的时候,需要对中文参数进行encode处理:var url = 'HelloWorldServlet?star_name='+encodeURI(encodeURI("刘德华"));window.op...转载 2018-04-28 11:44:23 · 4980 阅读 · 0 评论 -
Java中的String为什么是不可变的? -- String源码分析
什么是不可变对象?众所周知, 在Java中, String类是不可变的。那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的。不能改变状态的意思是,不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其他的对象,引用类型指向的对象的状态也不能改变。区分对象和对象的引用对于Java初学者, 对于Strin...转载 2018-05-02 15:16:59 · 484 阅读 · 0 评论 -
spring的ioc容器生成的对象也是代理对象对吗
一直以为spring的ioc容器生成的对象都是代理对象,其实这个是错误的。spring ioc默认的都是原生对象 只有通过aop增强的对象才是代理对象有@Transactional 注解或者配置文件<aop:config> <aop:pointcut id="txPointcut" expression="execution(* com..service.imp...原创 2018-04-11 10:19:34 · 6319 阅读 · 2 评论 -
分组执行大批量操作
List dataList = new ArrayList();for(int i=0;i<999;i++) dataList.add(4);int splitSize = 500;int arryLength = dataList.size();int result = 0;int group = 0;if (arryLength % splitSize != 0) {...原创 2018-04-10 16:17:09 · 594 阅读 · 0 评论 -
Java基础之String中equals,声明方式,等大总结
无论你是一个编程新手还是老手,提到String你肯定感觉特别熟悉,因为String类我们在学习java基础的时候就已经学过,但是String类型有我们想象的那么简单吗?其实不然,String类型的知识点还是比较多的。今天就和大家来一起讨论一下,关于String的一些容易让人疑惑的地方,废话不多说进入正题。。。如有谬误请批评指正,如果有疑问请留言。我会在第一时间修改或回答通过本篇博客你将学到转载 2015-11-04 14:32:34 · 555 阅读 · 0 评论 -
java 去掉html标签 使用正则表达式删除HTML标签。
import java.util.regex.Matcher; import java.util.regex.Pattern; public class HTMLSpirit{ public static String delHTMLTag(String htmlStr){ String regEx_script="]*?>[\\s\\S]*?"; //定义scr转载 2017-01-13 11:30:17 · 513 阅读 · 0 评论 -
关于SimpleDateFormat安全的时间格式化线程安全问题
2014-02-18 16:19 7649人阅读 评论(3) 收藏 举报 想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的转载 2017-02-15 22:23:18 · 392 阅读 · 0 评论 -
Windows下不同版本的JDK共存
1.安装jdk7,将C:\Windows\System32目录下的java.exe、javaw.exe、javac.exe删除。2.安装jdk8,将系统环境变量path中的C:\ProgramData\Oracle\Java\javapath;删除。3.编辑并启动eclipse.bat文件。@echo offset JAVA_HOME_7=F:\eclipse\java7:原创 2017-03-27 15:47:18 · 1210 阅读 · 0 评论 -
java 反射给字段重新赋值
1.获取实体的所有字段,遍历2.获取字段类型3.调用字段的get方法,判断字段值是否为空4.如果字段值为空,调用字段的set方法,为字段赋值Field[] field = model.getClass().getDeclaredFields(); // 获取实体类的所有属性,返回Field数组 try { for (int j = 0; j Str原创 2017-04-10 14:46:11 · 5269 阅读 · 0 评论 -
两个日期之间的日历
public JSONArray getBetweenDays(String stime,String etime){ int numb=1; SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); Date sdate=null; Date eDate=null;原创 2017-04-10 22:31:08 · 453 阅读 · 0 评论 -
集合总结
集合是工作中和面试中用的最多的和问到最多 的下面对一些常用集合进行了总结如果总结的不对的欢迎指出集合名字是否线程安全 是否有序 顶级接口 实现方式 优点 缺点注意点ArrayList 否是Collection动态数组查询速度快、删除、增原创 2017-08-05 16:57:52 · 666 阅读 · 0 评论 -
关闭layer
function closeBox() { var index = parent.layer.getFrameIndex(window.name); //获取当前窗体索引 parent.layer.close(index); //执行关闭 }执行成功关闭刷新页面window.parent.location.href = window.parent.locat原创 2018-01-25 11:23:47 · 416 阅读 · 0 评论 -
aop
@Aspect@Componentpublic class WeiXinRegister { @Pointcut("execution(public * com.workit.wx.*.controller..*.*(..))") public void pointcut() { } /** * 该标签声明次方法是一个前置通知:在目标方法开始之前执原创 2018-02-07 14:52:35 · 319 阅读 · 0 评论 -
探秘Java中的String、StringBuilder以及StringBuffer
相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String、StringBuilder和StringBuffer这几个类,分析它们的异同点以及了解各个类适用的场景。下面是本文的目录大纲: 一.你了解String类吗? 二.深入理解String、StringBuffer、StringBuilder转载 2017-02-08 12:53:40 · 740 阅读 · 0 评论