从底层彻底搞懂String,StringBuilder,StringBuffer的实现
在深入学习字符串类之前,我们先搞懂JVM是怎样处理新生字符串的.当你知道字符串的初始化细节后,再去写Strings="hello"或Strings=newString("hello")等代码时,就能做到心中有数。首先得搞懂字符串常量池的概念。常量池是Java的一项技术,八种基础数据类型除了float
RabbitMQ最全特性讲解
关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时候把这块的知识整理记录一下了。市面上的消息队列产品有很多,比如老牌的ActiveMQ、RabbitMQ,目前我看最火的Kafka,还有ZeroMQ,去年底阿里巴巴捐赠给Apache的Ro
全网最全,面试常问的HashMap知识点
引言其实我很早以前就想写一篇关于HashMap的面试专题。对于JAVA求职者来说,HashMap可谓是集合类的重中之重,甚至你在复习的时候,其他集合类都不用看,专攻HashMap即可。然而,鉴于网上大部分的关于HashMap的面试方向文章,烟哥看过后都不是太满意。因此,斗胆尝试也写一篇关于HashM
帮你少写一大半参数校验代码的小技巧
介绍几乎每个web网站都会对用户提交的参数进行校验,前端要做,后端也要做。防止用户直接通过接口调用的方式来请求或保存数据,从而导致产生脏数据等其他严重的后果。因为有些校验的逻辑也很繁琐,为了减轻开发者的负担,Java发布了JSR303/JSR-349数据校验规范JSR303是一项标准,JSR-349
不只概念,用代码来解释netty的线程模型
前言我们在使用Netty进行服务端开发的时候,一般来说会定义两个NioEventLoopGroup线程池,一个"bossGroup"线程池去负责处理客户端连接,一个"workGroup"线程池去负责处理读写操作。那么,我们为什么要这么做呢?这样做的好处是什么呢?能不能只使用一个NioEventLoo
如何写出一个能让面试官直呼“666”的深拷贝?
导读最近经常看到很多JavaScript手写代码的文章总结,里面提供了很多JavaScriptApi的手写实现。里面的题目实现大多类似,而且说实话很多代码在我看来是非常简陋的,如果我作为面试官,看到这样的代码,在我心里是不会合格的,本篇文章我拿最简单的深拷贝来讲一讲。看本文之前先问自己三个问题:你真
10个有趣又能编译为JavaScript的语言,你用过哪些?
来源:https://www.sitepoint.com/现代应用相比普通的网页有不同的要求。但是浏览器是一个有着一套(大部分)固定可用的技术的平台,JavaScript依然是web应用的核心语言;任何需要在浏览器上跑的应用都需要使用这种语言。我们都知道Javascript并不是最好的语言,特别是在
分析一次double强转float的翻车原因
背景人逢喜事精神爽,总算熬到下班撩~~正准备和同事打个招呼回家,被同事拖住问了.♂️:你们组做的那块代码,把double类型数据成float有问题啊.♀️:嗯?不对是正常啊,float精度是没有double高,但float能保存到小数点后好多位,对我们来说完全够用了!♂️:不是啊,这不是小数点
Sql Server中孤立的SQL用户查找和删除
问题最近公司很多数据库在上云,也有一部分在下云。这期间出现了很多问题,其中一个比较恶心的问题就是“孤立用户”。当数据库备份还原以后用以前的用户发现不能登录。一开始以为是登录账号没有创建,然后重新创建登录账号,然后再授权给数据库,此时又出错,说用户已经存在。我这才引起注意,开始搜索这个资料,原来这就是
Java程序员常犯的4个错误,你踩了哪个坑?
1、在Java内存中加入数据从SQL的初期开始,当在SQL中使用JOIN语句时,一些开发者仍旧有不安的感觉。这是源自对加入JOIN后会变慢的固有恐惧。假如基于成本的优化选择去实现嵌套循环,在创建一张连接表源前,可能加载所有的表在数据库内存中,这可能是真的。但是这事发生的概率太低了。通过合适的预测,约
前端知识栈必备技能:Node的介绍和学习路线
Node近两年已经成为前端知识栈必备技能之一。随便点开招聘网站找个岗位几乎都会要求会Node,更不用提一些高级岗位了。可能你看过Node是什么,看过Node的文档,用Node写过一些小项目。但是你知道在一线互联网企业里,Node真正是怎么用的吗?是拿来做什么的?怎么做?千锋广州小编相信百分之八十的人
常见的Java分布式缓存框架总结
分布式框架是Java学习过程中十分重要的一部分,本文千锋广州Java培训的老师就分享一些常用的Java分布式缓存框架,这些缓存框架支持多台服务器的缓存读写功能,可以让你的缓存系统更容易扩展。1、Ehcache–Java分布式缓存框架Ehcache是一个Java实现的开源分布式缓存框架,EhCache
原生javascript封装ajax请求,支持json和jsonp
之前一直用jquery,项目中遇到ajax也是用jq自带的$.ajax来实现,最近公司要求项目去jquery化,新项目都用vue,感觉脱离了操作dom的苦海,不过相比jquery的大而全,很多东西需要自己写,比如ajax,下面自己用原生的封装了一个,支持json和jsonp,直接上代码:functi
vue教程:Vue.js中 watch 的高级用法
watch最常用的方法代码如下:FullName:{{fullName}}FirstName:varapp=newVue({el:'#root',data:{firstName:'Dawei',lastName:'Lou',fullName:''},watch:{firstName(newName,
致所有.Net者和有梦想的朋友们-共勉
作者:Lex这篇文章很早就想写的了,主要是人到了一定的年纪,就想唠叨一些看法,认不认可不重要,重要的是生活给予你的酸甜苦辣,你都想一吐为快。这里主要基于多年来自己的一个行业感受和以及生活感想,唠叨一下工作以及生活。现状最近几年一直萦绕在我耳边和正在身边发生的事情,就是很多.Net的朋友们都纷纷往Ja
分享一个Linq和Expression的通用查询设计思想
一般来说所有的系统都离不开查询,系统的查询无非都是通过实体的属性作为条件进行查询,那我们有什么方法可以拼装成类似sql中的where条件呢?在.Net的体系中,借助Linq+Expression我们可以将查询参数转化为表达式进行查询。为简单易懂,我这里简单创建一个产品类Product来说明:publ
通过源码,实例详解java类加载机制
本文将介绍jvm类的加载以及双亲委派模型的概念。注意:类加载包含了从字节码流到jvm方法区java.lang.Class对象创建并初始化整个过程,而本文介绍的类的加载只是其中一个阶段运行时数据区本文内容基于hotspotjvm,运行时Class对象就存储在MethodArea中类加载时机什么时候开始
fastjson漏洞导致服务瘫痪,先别忙升级
1、背景2019年9月5日,fastjson修复了当字符串中包含\\x转义字符时可能引发OOM的问题。建议广大用户升级fastjson版本至少到1.2.60。一个bug这么恐怖,竟然直接OOM,亲身体验下吧。测试代码如下:JSON.parse("[{\"a\":\"a\\\x]");实验效果:4分钟
Redisson分布式锁的简单使用
一:前言我在实际环境中遇到了这样一种问题,分布式生成id的问题!因为业务逻辑的问题,我有个生成id的方法,是根据业务标识+id当做唯一的值!而uuid是递增生成的,从1开始一直递增,那么在同一台机器上运行代码,加上同步方法(synchronized),这个生成id的方法就是ok!但是因为业务扩展或者
Zookeeper 集群如何高可用部署?
文章转载于公众号:涤生的博客介绍Zookeeper我想大家都不陌生,在很多场合都听到它的名字。它是Apache的一个顶级项目,为分布式应用提供一致性高性能协调服务。可以用来做:配置维护、域名服务、分布式锁等。有很多开源组件,尤其是中间件领域,使用Zookeeper作为配置中心或者注册中心。例如,它是