java 的基础知识
文章平均质量分 74
徐小冠
网名:耶马
一生放荡不羁-----爱自由
高级Java工程师、架构师、知识博主。拥有多年大型系统开发经验,目前在支付公司担任高级开发工程师擅长源码研究、解决方案制定、业务架构、技术架构。已完成多个支撑日百万访问量平台的系统架构,支撑平台稳定运行,同城多机房,异地多活,两地三中心,参与公司单元化改革
展开
-
线程池自查注意点
该记录首先将介绍线程池的基本概念,在介绍完之后再举例论证当前各项目中存在的线程池创建问题,用以自查。2、线程池的任务调度流程(1)如果当前工作线程数量小于核心线程数量,执行器总是优先创建一个任务线程,而不是从线程队列中获取一个空闲线程。(2)如果线程池中总的任务数量大于核心线程池数量,新接收的任务将被加入阻塞队列中,一直到阻塞队列已满。在核心线程池数量已经用完、阻塞队列没有满的场景下,线程池不会为新任务创建一个新线程。(3)当完成一个任务的执行时,执行器总是优先从阻塞队列中获取下一个任务,并开始执原创 2022-12-03 21:53:49 · 700 阅读 · 1 评论 -
deployment的yaml说明
对象对象键值对使用冒号结构表示,冒号后面要加一个空格数组以开头的行表示构成一个数组纯量字符串、布尔值、整数、浮点数、Null、时间、日期总共包含5个属性在线服务场景中,会同时存在多个版本的模型服务,每个版本的模型服务都会对应一个,所有版本的模型服务共用一个。此时,通过将与进行关联,又通过对同一下不同的进行区分。可选字段,表示等待多少秒才能确定(通过)进程卡住了,单位:秒可选字段,指定期望的数量,默认是1可选字段,用来指定可以保留的旧的数量,余下的将在后台被当作垃圾收集,用于历史版本回滚可选字段原创 2022-12-03 21:50:12 · 1891 阅读 · 0 评论 -
分析类初始化阶段的死锁现象-问题解析
上代码![image.png](https://img-blog.csdnimg.cn/img_convert/f6ef8a951f08fd78d1a7693f98c0d1d2.png#clientId=u34e7b8d0-0f31-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=u958be568&margin=[object Object]&name=image.png&originHei.原创 2022-01-15 21:27:41 · 1400 阅读 · 0 评论 -
洞察设计模式的底层逻辑 -读后感
原文地址 公众号:阿里技术笔记分享地址:文档:徐明冠- 洞察设计模式的底层逻辑 -读后感.note链接:http://note.youdao.com/noteshare?id=c5235d3fc8b42d3a1e61ae12326154f3&sub=95B9128ED9C240368285C556D65C710D读后感讲的是什么看透底层逻辑的本质(找到变化,封装变化),设计模式中的特点:(面条,过程,对象),哪些在变化着,封装变化(如何去封装).思考什么在变化着.变化的分类(线性原创 2021-04-25 16:53:52 · 936 阅读 · 0 评论 -
个人代码 小册子
代码 小册子 优秀代码记录: 解决 ToString 的问题@ToString(exclude = { "mobileHCode", "electronicCode", "teleCode", "cityName", "provTelecode","proviceCode" })利用注解 @ToString(exclude = {"字段名称","字段名称"})注意细节 public QueryMyProductOfferResDTO getQueryTelecomMemb原创 2020-12-07 15:04:36 · 235 阅读 · 0 评论 -
hashmap 遍历操作 基于 JDK 1.8 一共11个版本
hashmap 遍历操作 基于 JDK 1.8 一共11个版本HashMap 的遍历操作 结合网上总结11种使用迭代器和Map.Entrylong i = 0;Iterator<Map.Entry<Integer, Integer>> it = map.entrySet().iterator();while (it.hasNext()) { Map.Entry<Integer, Integer> pair = it.next(); i原创 2020-12-07 15:01:25 · 669 阅读 · 0 评论 -
Date 对象在http和dubbo中被转义
Date 对象在http和dubbo中被转义最近继上次 http接口改造为dubbo接口进行限流处理的后续工作,一共有9个接口需要进行改动,当时是全部改好了,也都验证没有问题的,昨天突然发现有个接口的在一个位置调用的没有数据展示出来,这就很奇怪了,其他位置也调用了,这里开启大家的聪明的小脑袋思考一下 问题会出现在哪里的思考:运营没有配置,或者大数据没有推荐,接口针对这个位置没有返回数据接口有数据,数据被改变了前端接收有问题接口改造有问题,需要定位问题点好了,生产有问题了,现在来排原创 2020-07-04 12:32:00 · 625 阅读 · 0 评论 -
关于基本类型的和包装类型的思考
同事遇到一个NEP的问题.一直想不通,引用的包Boolean值抛出了异常.觉得不可以思议的我们知道 boolena 的默认是false为什么这里会NEP 经过查询知道, Boolean是boolean 的包装类是没有初始值的,那这样问题解决了. 可引发我的思考, 什么时候使用基本类型什么使用考虑使用包装类型 结合网上的资料总结两者的区别java中的万物皆对象,基本类型不是对象...原创 2019-07-13 17:42:57 · 493 阅读 · 0 评论 -
CollectionUtils属于哪个包
使用的场景: 今天在自己的demo项目中写代码时需要对list进行判空的出来, 我们都知道 先对list 是否为null 是否为为空(isEapty)但是我不习惯这样的写,在工作中使用 工具类习惯了 CollectionUtils.isEpty( list) 防止 NPM的异常出现我遇到了问题平时是直接拿来用的,pom文件中如何导入.没事我看我们项目中的pom文件直接cop...原创 2019-05-26 20:38:01 · 19325 阅读 · 4 评论 -
list集合使用addall 为什么返回的是boolean对象
这个其实可以看一下,list的add 增加元素. 返回的也是boolean值 List<String> list=new ArrayList<>(); System.out.println(list.add("a")); //true System.out.println(list.add("a")); //true S...原创 2019-04-26 01:17:32 · 3546 阅读 · 0 评论 -
java对象与json对象间的相互转换
java对象与json对象间的相互转换转自:https://blog.csdn.net/harryptter/article/details/545755771.简单的解析json字符串首先将json字符串转换为json对象,然后再解析json对象,过程如下。JSONObject jsonObject = JSONObject.fromObject(jsonStr);[j...转载 2019-03-18 14:01:14 · 219 阅读 · 0 评论 -
重新温习一下 java的基础知识
1 重载和重写的区别答: 在一个类中多个方法重载, @Overload方法的方法名不变,参数改变,重写, @Override [体现了多态,]方法名和 入参都不改变.当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法, 即在子类中重写该方法——相同参数,不同实现(动态多态性)还有的是注意有时面试的时候给你加入的坑,把返回的类型进...原创 2019-03-24 23:31:21 · 214 阅读 · 0 评论 -
数组快速排序
常用数组排序算法 public class SortAll { /** * 冒泡排序,选择排序,插入排序,希尔(Shell),快速排序 排序 Java的实现 * 2009.6.4 * @千醉. (http://b1135519.xici.net) */ public static void main(String[]...原创 2019-02-10 22:53:35 · 1429 阅读 · 0 评论 -
在java1.8以后加入的新特性
在原来的 接口中, interface 中是不能有方法函数的, 在1.8中 加入了 defualt 的关键字以后 可以在方法中加入了方法函数,比如在以下的代码中的演示:这个是常见的一个接口方法public int add(int x,int y);这个是加入default 的关键字的方法体default int sum(int x,int y){ re...原创 2018-10-26 21:16:18 · 412 阅读 · 0 评论 -
StringUtils.isEmpty和StringUtils.isBlank用法的区别,详细版,深入
import org.apache.commons.lang.StringUtils;public class Demo1 { public static void main(String[] args) { /* StrignUtils,isEmpty */ System.out.println(StringUtils.isEmpty(nul...原创 2018-07-24 10:52:16 · 597 阅读 · 0 评论 -
常用的正则表达式
/*下面的正则表达式开头和结尾的"/"没有写(除了邮箱和手机号的正则),要自己加上。 */邮箱验证:var emailRex = /^[a-zA-Z0-9][a-zA-Z0-9_\\.]+[a-zA-Z0-9]@[a-z0-9]{2,7}(\\.[a-z]{2,3}){1,3}$/;手机号验证:var telRex=/^[1][3,4,5,7,8][0-9]{9}$/;Js代码 ...原创 2018-07-25 09:21:11 · 102 阅读 · 0 评论 -
JAVA学习篇--静态代理VS动态代理
本篇博客的由来,之前我们学习大话设计,就了解了代理模式,但为什么还要说呢?原因:1,通过DRP这个项目,了解到了动态代理,认识到我们之前一直使用的都是静态代理,那么动态代理又有什么好处呢?它们二者的区别是什么呢?2,通过学习动态代理了解到动态代理是一种符合AOP设计思想的技术,那么什么又是AOP?下面是我对它们的理解! 代理Proxy: Proxy代理模式是一...转载 2018-08-09 17:38:03 · 192 阅读 · 0 评论 -
IntelliJ IDEA 常用的的插件
IntelliJ IDEA 支持非常多的插件,熟练的使用插件,能够有效提高我们的开发效率以及用户体验。首先,进入插件安装界面:Mac:IntelliJ IDEA -> Preferences -> Plugins; Windows:File -> Settings -> Plugins.标注 1:显示 IntelliJ IDEA 的插件分类, All ...原创 2018-08-02 19:48:27 · 324 阅读 · 0 评论 -
设置默认 Maven 的两种方法
本次教程给大家分享的是关于设置默认 Maven 的两种方法。第一种:在 IntelliJ IDEA 的初始化界面中,依次选择“Configure”—>“Project Defaults”—>“Settings”,然后在“Default Preferences”里的“Maven”中进行配置,即可。第二种:在项目中,依然选择“File”—>“Others Settin...原创 2018-08-02 19:51:40 · 1418 阅读 · 0 评论 -
idea中字体大小以及注释的颜色设置
idea中字体大小以及注解的颜色设置的使用字体设置注解颜色原创 2018-08-03 07:20:44 · 22679 阅读 · 6 评论 -
数据的持久化,为什么要持久化.
但是什么是数据库持久化呢? 持久数据其实就是将数据保存到数据库。 数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称;数据模型可以是任何数据结构或对象模型,存储模型可以是关系模型、XML、二进制流等;cmp和Hibernate只是对象模型到关系模型之间转换的不同实现。只不过对象模型和关系模型应用广泛,所以就会误认为数据持久化就是对象模型到关系型数据库的转换罢...原创 2018-08-18 08:58:51 · 3667 阅读 · 0 评论 -
为什么 mysql id 为 long类型的不为int
int 的取值的范围是(-2147483648 ~ 2147483647)。最大 的数大概为21个亿,在日常的使用,为什么在数据库设计的时候通常为 id 为long类型, 其实是为了一劳永逸的,不仅是为以后的业务的增长,大数据的,准备, 还有是 第三方的的使用,例如,微信的支付返回的值,...原创 2018-09-08 09:02:59 · 14838 阅读 · 3 评论 -
关于java中的 报文(个人的理解,有错误希望指导)
报文使用的位置很多:在常用的短信Api接口,提交,可以通过报文查看运行的时间和运行转态. 我的理解是 报文=数据块. 想要仔细的了解 报文,先要了解一下:传输层: 传输层的协议有三种,TCP,UDP和SCTPTCP是针对于字节流的,也就是说,在它眼里,看到的只是0101这样的字节流,而完全没有分界的概念,比如说,上层传来的一个消息,到这一层可能会被分割到两个TCP的包里...原创 2018-09-23 16:34:34 · 3734 阅读 · 0 评论 -
Java集合---ConcurrentHashMap原理分析
一、背景:线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 效率低下的HashTable容器 HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTabl...原创 2018-09-28 15:46:50 · 394 阅读 · 0 评论 -
转换流
转换流1.1 字符编码和字符集字符编码计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码 。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码 。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本f符号。反之,按照A规则存储,再按照B规则解析,就会导致乱...原创 2018-07-02 00:29:36 · 3657 阅读 · 0 评论