浩浩 浩浩
4年前
JVM--指令重排序+volatile关键字
volatile关键字1、volatile翻译为不稳定的,容易改变的。意思很明确,如果使用volatile定义一个变量,意思就是可能该变量改变频繁,并且设计到多线程访问问题。2、不过现在jdk的synchronized关键字性能已经足够出色,也提供了多种Lock类,因此volatile关键字能实现的功能jdk的同步方法都能够实
kenx kenx
4年前
java 优雅编程 之lombok开发利器
我们知道在最开始学习java的时候我们在编写pojo类时候需要手写getter,settertoString.....等,刚开始我们觉得还可以接受,乐于去编写的而且java开发工具idea也提供了这些快捷键可以一键生成属性对应的getter,setter,toString等方法,不过即使这样我们每次还需要手动通过快捷键去生成,也是很繁琐不友好,而且当
阮小五 阮小五
2年前
如何在M1 Mac上安装iPhone或iPad应用程序
苹果公司的M1Macs由苹果公司设计的基于Arm的芯片提供支持,由于不同操作系统之间的通用架构,因此能够运行iOS和iPadOS应用程序。一些iOS开发人员一直在更新其应用程序以使其与macOS兼容,但是有些方法可以下载未经优化的应用程序,甚至是开发人员阻
灯灯灯灯 灯灯灯灯
4年前
面试百度和美团,竟然问我多线程安全问题,正好撞在我知识点上
解决多线程安全问题无非两个方法synchronized和lock具体原理以及如何获取锁AQS算法本篇文章主要讲了lock的原理就是AQS算法,还有个姊妹篇讲解synchronized的实现原理也是阿里经常问的,一定要看后面的文章,先说结论:非公平锁tryAcquire的流程是:检查state字段,若为0,表示锁未被占用,那么尝试占用,若不为0,检查
Wesley13 Wesley13
3年前
vim中如何看二进制文件
通常来说文件分为文本和二进制文件两大类,文本文件的编辑很容易,Windows下的notepad、UltraEdit都很好用,二进制文件的编辑在Windows下也有很多工具,UltraEdit也不错,但是Linux下呢?今天终于发现了一个好方法,但是最终出处找不到了。首先创建一个二进制文件:123oracle@logservert
Stella981 Stella981
3年前
SpringBoot整合多个RabbitMQ
一、背景​最近项目中需要用到了RabbitMQ来监听消息队列,监听的消息队列的虚拟主机(virtualHost)和队列名(queueName)是不一致的,但是接收到的消息格式相同的。而且可能还存在程序不停机的情况下,动态的增加新的队列(queue)的监听,因此就需要我们自己在程序中实现一种方法实现动态配置RabbitMQ
Wesley13 Wesley13
3年前
Java中不可或缺的59个小技巧,贼好用!
来源:https://blog.dogchao.cn/?p70《EffectiveJavaJava》名著,必读。如果能严格遵从本文的原则,以编写API的质量来苛求自己的代码,会大大提升编码素质。以下内容只记录了我自己整理的东西,还是建议读原文。为了聚焦知识点,一些说明故意忽略掉了。相当于是一篇摘要。1、考虑用静态工厂方法替代构造
Stella981 Stella981
3年前
ITerm2下使用ssh访问Linux
通常情况下,iTerm2访问远程Linux使用ssh,与Termial基本一样,方法如下:ssh <用户名@<ip然后输入访问的密码即可。当然还有的时候需要指定访问端口。ssh p <端口号 <用户名@<ip地址如果在iTerm2下的操作与termial一样,我还用它干甚?当然iTerm2有它特有的功能,这里使
Stella981 Stella981
3年前
Django框架详细介绍
一、概述    ORM(ObjectRelationalMapping),全称:对象关系映射,简单的说就是通过创建类、实例化出对象的方法,使得类、对象、对象的属性能够和数据库中的表、记录、字段意义对应。  ORM只是一种工具,避免了开发人员在开发过程中不用反复地编写大量复杂的SQL语句,而可以专注于业务逻辑上的开发,提高开发效率,但是OR
Wesley13 Wesley13
3年前
mysql数据库优化
引言:关于数据库优化,网上有不少资料和方法,但是不少质量参差不齐,有些总结的不够到位,内容冗杂偶尔发现了这篇文章,总结得很经典,文章流量也很大,所以拿到自己的总结文集中,积累优质文章,提升个人能力,希望对大家今后开发中也有帮助1、选取最适用的字段属性MySQL可以很好的支持大数据量的