200 天前 / apeng
前言五一回家又断更了一个放假时间了~~~ 只有光头才能变强 回顾前面: ThreadLocal 就是这么简单 多线程三分钟就可以入个门了! 多线程基础必要知识点!看了学习多线程事半功倍 Java 锁机制了解一下 AQS 简简单单过一遍 Lock 锁子类了解一下 之前花了点之间时间去搞多线程的基础知识了,难呀难呀难呀….打算还写一篇线程池的就暂时将多线程系列停止了… 今天中午在逛简书的时候发现一些大厂也会问 Object 对象里面有什么方法 ( 也算是一个知识点吧),Object 我还没去认真复习过,于是这篇主要看看 Object 对象有什么要注意的地方~ 那么接下来就开始吧...
202 天前 / Dunizb
文末提供 JetBrains 全家桶激活服务 本报告是 JetBrains 开展的第四次年度开发者生态系统调查的汇总结果。2020 年初接受调查的 19,696 位开发者的反馈帮助我们确定了工具、技术、编程语言和开发领域许多其他激动人心的方面的最新趋势。 重要发现 Java 是最受欢迎的主要编程语言。 JavaScript 是最常用的整体编程语言。 网站是开发者开发的最常见应用程序类型。 Web(后端)是最受欢迎的平台。 Go、Kotlin、Python 是开发者计划采用或迁移到的前 3 大语言。 Python 在过去 12 个月中使用的语言榜单中超过 Java。它是研究最多的语言。
205 天前 / Java旅途
在日常开发中,总会接触到各种接口。前后端数据传输接口,第三方业务平台接口。一个平台的前后端数据传输接口一般都会在内网环境下通信,而且会使用安全框架,所以安全性可以得到很好的保护。这篇文章重点讨论一下提供给第三方平台的业务接口应当如何设计?我们应该考虑哪些问题? 主要从以上三个方面来设计一个安全的 API 接口。 一 安全性问题安全性问题是一个接口必须要保证的规范。如果接口保证不了安全性,那么你的接口相当于直接暴露在公网环境中任人蹂躏。
205 天前 / vivo互联网技术
一、概述 ConcurrentHashMap ( 以下简称 C13Map) 是并发编程出场率最高的数据结构之一,大量的并发 CASE 背后都有 C13Map 的支持,同时也是 JUC 包中代码量最大的组件 (6000 多行),自 JDK8 开始 Oracle 对其进行了大量优化工作。 本文从 HashMap 的基础知识开始,尝试逐一分析 C13Map 中各个组件的实现和安全性保证。 二、HashMap 基础知识 分析 C13MAP 前,需要了解以下的 HashMap 知识或者约定: 哈希表的长度永远都是 2 的幂次方,原因是 hashcode%tableSize==hashcode&(tableSize-1),也就是哈希槽位的确定可以用一次与运算来替代取余运算。
206 天前 / openio
阿里妹导读:Java 是面向对象的语言,无法直接调用一个函数。Java 8 开始,引入了函数式编程接口与 Lambda 表达式,便于开发者写出更少更优雅的代码。什么是函数式编程?函数式编程的特点是什么?本文通过代码实例,从 Stream 类、Lambda 表达式和函数接口这三个语法概念来分享 Java 对函数式编程的支持。 文末福利:Java 微服务沙箱体验挑战。 背景 在很长的一段时间里,Java 一直是面向对象的语言,一切皆对象,如果想要调用一个函数,函数必须属于一个类或对象,然后在使用类或对象进行调用。
207 天前 / ThoughtWorks
如何产出规范、安全、高质量的代码?2020 年 9 月 17 日 by 少个分号 Leave a Comment 对于一个软件开发团队,可以通过哪些代码质量指标和扫描方法让团队产出规范、安全、高质量的代码?让开发团队运行的安全、透明、可靠?本文总结了其中一些实践和工具,包含常见代码质量扫描工具、代码质量指标、第三方依赖管理、安全运维等几个方面,主要适用于 Java/JavaScript 技术栈的 web 项目,希望对于想要规范化自己的项目的 Tech Lead 有所帮助。
208 天前 / EalenXie
AopLog 是基于 Spring Aop 和 ThreadLocal 实现的一个专门对请求方法内容日志的拦截与处理的日志工具包。 场景 : 使用 Spring Aop 拦截参数日志目前大部分做法都基本上大同小异,不想日后每个项目工程都写一份这样的 Aop 拦截处理日志的代码,甚至代码侵入。我想知道一些相对重要的请求方法的请求参数,响应参数,请求头,以及内部耗时,方法是成功还是失败等等信息。发生错误时我也不知道执行到哪一步发生了异常,是不是某个参数导致出的逻辑问题。普通的 log.info 或 warn 信息没有所属请求的上下关系,并不方便查看和分析。
209 天前 / java金融
点击蓝色字关注我们! hashMap 应该是 java 程序员工作中用的比较多的一个键值对处理的数据的类型了。这种数据类型一般都会有增删查的方法,今天我们就来看看它的循环方法以前写过一篇关于 ArrayList 的循环效率问题《ArrayList 哪种遍历效率最好,你真的弄明白了吗?》,感兴趣的同学可以去看看。hashMap 有常见的六七种遍历的方式。这么多的选择,大家平时都是使用哪一种来遍历数据列?欢迎大家在下方留言哦。
209 天前 / 雇个城管打天下
在之前的《从找对象到多线程》一文中我曾介绍了一些和多线程有关的知识,而谈到多线程,就一定离不开「锁」这个名词。在 Java 中,锁的使用主要有两种:Synchronized 关键字和 Lock 接口,本文将会换个角度来聊一聊 synchronized 中的锁。 Synchronized 用的锁是存在对象头里的,用来表明当前对象所持有的锁。在 Java SE1.6 之前,Synchronized 是作为重量锁出现的,一旦使用了 synchronized,就一定会阻塞到其他线程。而在 Java SE1.6 后,为了减少获得锁和释放锁带来的性能问题,引入了"偏向锁"和"轻量锁"的概念。
209 天前 / PerfMa
内存泄漏 gcjava2 周前 一、项目介绍 lz_rec_push_kafka_consume 该项目通过 kafka 与算法进行交互,通过 push 推荐平台(lz_rec_push_platform)预生成消息体。 二、问题背景发现项目的 k8s 容器会出现重启现象,重启时间刚好是 push 扩量,每小时 push 数据量扩大 5 倍左右。 发生问题时,容器配置:CPU:4 个,内存:堆内 3G,堆外 1G。 三、问题排查流程:望 - 闻 - 问 - 切望:查看监控系统,观察重启发生时,容器实例的资源情况 注:容器重启机制:k8s 监控发现“实例”内存使用超过申请时,会对容器进行重启。
210 天前 / xzMhehe
点击上方“掌上编程”,选择“置顶或者星标” 优质文章第一时间送达! Ribbon [rbn] Ribbon 是什么 Spring Cloud Ribbon 是一个基于 HTTP 和 TCP 的 客户端 负载均衡 工具简单的说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将 Netflix 的中间层服务连接在一起。Ribbon 客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出 Load Balancer(简称 LB)后面所有的机器,Ribbon 会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。
212 天前 / YourBatman
点击上方“BAT的乌托邦”,选择“设为星标” 后台回复“专栏”,开启专栏模式学习 前言2020年9月15日,JDK15正式发布,可谓如约而至。按照Java SE的发展路线图,JDK14自此停止更新。值得注意的是JDK15并非「LTS」版本,Oracle官方对Java SE的支持路线图如下:JDK8的扩展支持时间超过了JDK11,Oracle你是认真的吗?开个玩笑~ 那么自Java11之后,哪个版本才是LTS版本呢?Oracle官方并没给出具体参考路线图,但可参考OpenJDK的这张:可以看到「JDK17」将是下一个LTS版本,预计发版日期是2021年9月份。
218 天前 / xF0rk
微信又改版了,为了我们能一直相见 你的加星和在看对我们非常重要 点击“长亭安全课堂”——主页右上角——设为星标 期待与你的每次见面~ 作者:Litch1:给 phith0n 师傅递茶的小弟 这篇文章主要以 Tomcat 为例子记录了一些关于 Java 内存 Webshell 利用与检测以及相关的思考。 内存 Webshell 的利用方式 现在的内存 Websell 的利用方式个人感觉可以分为以下三种: 基于 Servlet 规范的利用,动态注册 Servlet 规范中的组件,包括 Servlet,Filter,Listener,这部分的公开文章比较多...
219 天前 / 钟子敬07
这是我的第57篇原创文章 作者 | 悟空聊架构 来源 | 悟空聊架构(ID:PassJava666) 转载请联系授权(微信 ID:PassJava)本篇主要内容如下: 本篇主要内容本篇文章已收纳到我的 Java 在线文档、 Github 我的 SpringCloud 实战项目持续更新中 帮你总结好的锁: 序号锁名称应用 1 乐观锁 CAS2 悲观锁 synchronized、vector、hashtable3 自旋锁 CAS4 可重入锁 synchronized、Reentrantlock、Lock5 读写锁 ReentrantReadWriteLock,CopyOnWriteArrayList、CopyOnWriteArraySet6 公平锁 Reentrantlock(true)7 非公平锁 synchronized、reentrantlock(false)8 共...