存储器结构超线程:一个ALU对关闭 所谓的四核八线程在观看直播CPU 读取数据按块读取程序局部性原理,可以提高效率充分发挥总线CPU针脚等一次性读取更多 数据的能力缓存行(cache line):缓存行越大,局部性空间效率越高,但读取时间慢缓存行越小,局部性空间效率越低,但读取时间快取一个折中值,目前多用:64字节(64 bytes)...
@SpringBootApplication@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters = { @Filte...
目录问题背景@Autowired和构造方法执行顺序差异解决方案为什么要加final?问题背景使用@Autowired注解时,发现IDEA报了一个 warning!追求极致的程序员怎么受得了这玩意?还得再点击那三小点点!然后继续点!Spring Team recommends “Always use constructor based dependency injection...
跨域资源共享(CORS) 是一种机制,它使用额外的HTTP头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。比如,站点http://domain-a.com的某 HTML 页面通过<img> 的 ...
如果不想在世界上虚度一生,那就要学习一辈子。——高尔基0 前言延迟元素的无边界阻塞队列,在该队列中,仅当元素的延迟到期时才可以使用它.队首是该 Delayed 元素,其延迟在过去最远过期.如果没有延迟已经过期,就没有head, poll将返回null.当元素的getDelay(TimeUnit.NANOSECONDS)方法返回的值小于或等于零时,就会发生过期.即使未到期的元素无...
1 类注释程序中执行的线程。JVM允许应用程序拥有多个并发运行的执行线程。每个线程都有一个优先级。优先级高的线程优先于优先级低的线程执行。每个线程可能被标记为守护线程,也可能不被标记为守护线程。当在某个线程中运行的代码创建一个新 Thread 对象时,新线程的优先级最初设置为创建线程的优先级,并且只有在创建线程是一个守护线程时,新线程才是守护线程。当JVM启动时,通常有一个非守护的线程(它...
错的意思是,找不到这个插件的包。原因很简单,不是找不到这个打包插件,而是自己的项目没有从maven仓库里加载这个包到项目里,因此会找不到。在idea中maven打包操作是点击install,而在maven打包时有两个install的地方在打包时如果点击了Plugins中的install时,就会报如题错误我们在打包时应该操作Lifecycle下的install,这样项目就会自动去maven仓库下载需要的包,也就不会报错,问题就解决了。...
现象IDEA可设置自动载入Maven依赖,但有时pom文件修改却没有触发自动重新载入的动作,需要手动强制更新选中对应项目模块,右键选择 Reimport
1 现象在 mac 下使用 chrome时,发现全屏后,浏览器缩放按钮找不到了!!!!2 解决Chrome浏览器的黑屏如何解决打开设置搜索硬件加速模式把勾去掉重启浏览器。
0 前言与 ArrayList 一样实现了 List 接口,只是 LinkedList 底层结构为链表.在插入和删除时更优于 ArrayList,而随机访问则比 ArrayList 稍逊.其允许元素包括 null.除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作...
cmpxchg 本身不是原子的,需要加 lock 才是原子的,而 lock 是通过锁内存总线来实现原子性的。内存总线就一条,是独占的,不管你是多核还是单核,同一时间,只有一个能占用总线.占用总线的,可以是 CPU 的核,也可以是 DMA 等能访问内存的设备,一般叫 bus master。一个元器件读内存时就会占用总线,读完后再解除对总线的占用,其它元器件才能进总线继续访问内存,任何元器件不会在...
4 volatile 关键字可见性问题让一个线程对共享变量的修改,能够及时的被其他线程看到。根据JMM中规定的happen before和同步原则:对某个volatile字段的写操作happens- before每个后续对该volatile字段的读操作。对volatile变量v的写入,与所有其他线程后续对v的读同步要满足这些条件,所以volatile关键字就有这些功能:禁止缓存...
缓存一致性协议和 java 的 volatile 实现无任何关系cache line的概念 缓存行对齐 伪共享a. cache是以cache line为单位与内存映射的,cache只要命中了就是命中64字节,对应内存中连续的64个地址,这64个地址刚好对应了地址的低6位。所以这6位被划为一个段。b. cache分为了64组,要有hash方式确定内存中的地址在哪个cache组,可以用36位地址...
继承体系属性标识对flat属性的更改。flatJCheckBox是Swing中的复选框。复选框可以同时存在多个这样的控件,它们可以有多个处于被选中状态。对于每一个复选框而言,它只有选中和未选中两种状态。JCheckBox的常用方法如下图所示:构造方法JCheckBox()创建一个最初未选中的复选框按钮,没有文本,也没有图标。JCheckBox(Action a)...
有一个小技巧可以使你的 Git 体验更简单、容易、熟悉:别名。Git 并不会在你输入部分命令时自动推断出你想要的命令。 如果不想每次都输入完整的 Git 命令,可以通过 git config 文件来轻松地为每一个命令设置一个别名。 这里有一些例子你可以试试:git config --global alias.co checkout这意味着,当要输入 git commit 时,只需要输入 ...
这个世上没有无用的齿轮,也只有齿轮本身能决定自己的用途.——东野圭吾《嫌疑犯X的献身》0 前言HashSet 是一个没有重复元素的集合.主要由 HashMap 实现,不保证元素顺序,而允许 null 元素.非线程安全,如果需要安全请自行加锁,或者使用 Collections.synchronizedSet包装.最好在创建时完成这一操作,以防止对该 set 进行意外的不同步访问....
人一旦与自己相认,也就没那么合群了。——《半山文集》0 前言无序的 HashMap ,按 key 排序的 TreeMap ,那么 LinkedHashMap特点在哪呢 - 维护插入的顺序.LinkedHashMap 也同样出自于 Bloch之手(开发了整个 Java 集合框架的男人).元素存储关系 红黄箭头:元素添加顺序 蓝箭头:单链表各个元素的存储顺序 head:链表...
我的人生就像在白夜里走路。——东野圭吾《白夜行》0 前言上篇我们分析了HashSet,它是组合了 HashMap 实现的,那TreeSet会是怎么实现的呢?没错!组合 TreeMap 实现.1 继承体系继承了抽象类AbstracSet,方便扩展 实现的 SortedSet,解锁如下方法 实现 NavigableSet 接口,和 NavigableMap 接口类似,...
git reflog可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作),git log则不能察看已经删除了的commit记录具体一个例子,假设有三个commit:git st:commit3: add test3.ccommit2: add test2.ccommit1: add test1.c如果执行 git reset...
正在上传…重新上传取消我不停奔跑只为追赶当年被寄予厚望的自己。——利文斯顿0 前言我们知道 ArrayList 非线程安全,需要自己加锁或者使用Collections.synchronizedList包装.从JDK1.5开始JUC里提供了使用 CopyOnWrite 机制实现的并发容器线程安全的 List - CopyOnWriteArrayList,简称 COW1 C...
初衷由于本人刚到新公司,也是毕业不久,经验不足,经常导致 git 事故发生,特此总结遇坑解决方法,以示后人。1 本地版本回退你在本地做了错误的 commit先找到要回退的版本的commit id:git reflog 接着回退版本:git reset --hard cac0cac0就是你要回退的版本的commit id的前面几位远程分支版本回退回滚自己的远程分支你的错误...
在翻阅 Java 编程思想英文原版时,读到了 pool of memory一词,而 Java 的堆内容就属于内存池。内存池(Memory Pool),又被称为固定大小区块规划(fixed-size-blocks allocation),允许程序员以类似 C语言 的 malloc 或是 C++ 的 new 操作数进行动态的存储器规划。对于其它动态存储器规划的实践来说,因为会变动存储器区块大小导致的...
command 对应 ctrloption 对于 alt为项目配置了运行配置后,可以通过按 Shift+F9 在调试模式下启动它。在 “调试工具” 窗口中,您可以看到框架和线程的状态、变量和表的列表。当您选择一个框架时,您会看到与所选框架相对应的变量。调试快捷方式切断断点:Ctrl+F8恢复程序:F9跳过(Step Over):F8,一行一行地往下走,如果这一行上有方法不会进入方法。...
将相关报错插件全部禁用即可,因为新版 IDEA 不支持插件,导致一直报错,无法正常打开项目。
11q
由于 2020.1 版本的 material UI 无法更改原生的 UI设计,无法忍受丑陋的原生了让我们迅速退回稳定的 2019.3.4 版本!记住这个网址,查看所有的版本:https://www.jetbrains.com/idea/download/previous.html...
Dubbo 支持哪些协议,每种协议的应用场景,优缺点? dubbo: 单一长连接和 NIO 异步通讯,适合大并发小数据量的服务调用,以及消费者远大于提供者。传输协议 TCP,异步,Hessian 序列化; rmi: 采用 JDK 标准的 rmi 协议实现,传输参数和返回参数对象需要实现Serializable 接口,使用 java 标准序列化机制,使用阻塞式短连接,传输数据包大小混合...
里氏替换原则(Liskov Substitution Principle,LSP)是面向对象设计(OOD)中比较重要、常见的一种,下面来总结里氏替换原则的知识点,包括:维基百科定义在面向对象的程序设计中,里氏替换原则(Liskov Substitution principle)是对子类型的特别定义。它由芭芭拉·利斯科夫(Barbara Liskov)在1987年在一次会议上名为“数据的抽象与...
官网平台链接一小段代码要好看、好读又能吸引注目,做成图片或许是不错的方法,本文要推荐的「Carbon」是一款能将代码转为美丽图片的免费线上工具,只要将原始码粘贴或直接把文件拖曳到网站中,就能选择不同的配色,为代码加上外框、阴影,转为更有质感的图片。Carbon内置许多配色,就如同你所熟悉的代码编辑器,可以切换更多不一样的色彩,除此之外还能调整外框、背景颜色、字体、宽度或阴影等细部项目,如...
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号