01 2021 档案

摘要:JMM规定了线程的工作内存和主内存之间的交互关系,以及线程之间的可见性和程序的执行顺序。一方面,要为程序员提供足够强的内存可见性保证;另一方面,对编译器和处理器的限制要尽可能地放松。JMM对程序员屏蔽了CPU以及OS内存的使用问题,能够使程序在不同的CPU和OS内存上都能够达到预期的效果。 Java 阅读全文
posted @ 2021-01-11 17:00 欣欣雪 阅读(97) 评论(0) 推荐(0)
摘要:项目源码 官方文档 它基于 xmake 提供的运行时,但却是一个完整独立的包管理程序,相比 vcpkg/homebrew 此类包管理器,xrepo 能够同时提供更多平台和架构的 C/C++ 包。 并且还支持多版本语义选择,另外它还是一个去中心化的分布式仓库,不仅仅提供了官方的 xmake-repo  阅读全文
posted @ 2021-01-11 16:12 欣欣雪 阅读(310) 评论(0) 推荐(0)
摘要:讨论最多的Java工具和其他语言 Java在IT社区中经常被讨论,其中之一就是Stack Overflow。我们从“ 👉问题与解答”章节中获取了数据,以找出哪些标签最常出现“java”。纵轴表示Java提及的内容,横轴表示标签出现的总数。 专家分析该图表可能对想要确保使用正确技术或为他们寻找工具的 阅读全文
posted @ 2021-01-11 11:13 欣欣雪 阅读(109) 评论(0) 推荐(0)
摘要:第六题,当在 HashMap 中放入一个已经存在的 key 时,会发生什么? 小李之所以没答对这道题,是因为他没有深入研究过 HashMap 的工作原理。 Hash,一般译作“散列”,也有直接音译为“哈希”的,这玩意什么意思呢?就是把任意长度的数据通过一种算法映射到固定长度的域上(散列值)。 再直观 阅读全文
posted @ 2021-01-11 10:49 欣欣雪 阅读(142) 评论(0) 推荐(0)
摘要:代码实现 看完了设计模式的原理,我们下面来试着用代码来实现一下, 由于这个设计模式非常简单,这个代码并不长只有几行: from queue import Queuefrom threading import Threaddef producer(que): data = 0 while True: 阅读全文
posted @ 2021-01-11 10:33 欣欣雪 阅读(104) 评论(0) 推荐(0)
摘要:有一天,小李告诉我,他去一家公司面试 Java 岗,结果被面试官虐哭了。整整 10 道 Java 面试题,小李一道也没答正确。 他沮丧地给我说,“哥,说点我的情况,你愿意听吗?我和一个女孩相处,女孩大我两岁,我非科班。本来打算国庆换一家薪水高点的,好确认关系。我经验不多,技术一般般,之前在一家外包公 阅读全文
posted @ 2021-01-09 18:46 欣欣雪 阅读(117) 评论(0) 推荐(0)
摘要:2020年 Java达到了一个令人难以置信的里程碑,并达到了25岁的高龄。 2021年是否还可以继续延续传奇呢,这样我们很难信服。 这让我们开始思考并决定深入研究数据,以一劳永逸地发现Java的普遍状态,并帮助回答您的一些迫切问题。我们发现的某些内容可能不足为奇,但也有一些非常出乎意料的见解。 开发 阅读全文
posted @ 2021-01-09 18:41 欣欣雪 阅读(885) 评论(0) 推荐(0)
摘要:生产消费者模式 在日常开发当中,从一个线程向另外的线程传输数据又是一件家常便饭的事情。举个最简单的例子,我们在处理网页请求的时候,需要打印下来这一次请求的相关日志。打印日志是一次IO行为,这是非常消耗时间的,所以我们 不能放在请求当中同步进行,否则会影响系统的性能。最好的办法就是启动一系列线程专门负 阅读全文
posted @ 2021-01-09 18:39 欣欣雪 阅读(83) 评论(0) 推荐(0)
摘要:一、为什么要学 C 语言? 首先,我们学的是 Computer Science,而不是 Programming Language,语言真的真的真的不是重点。 语言只是工具,工具没有优劣,只有各自适用的场景不同。 所以,以下所有讨论皆不涉及语言优劣,一切论述以怎样才是有利于学好 Computer Sc 阅读全文
posted @ 2021-01-09 18:30 欣欣雪 阅读(658) 评论(0) 推荐(0)
摘要:概述 不知你是否遇到过在微信上给通讯录中的某个人发消息,结果出现了这尴尬的一幕: 平时一直认为自己的心里素质过硬,不过遇到这种情况,心里暗暗的失落 ... 在我缓了半个钟头里(半分钟 )之后,缓缓拿出了手机,打开微信,找到通讯录中的 ABC,默默地按下了删除按钮,此刻的我心如止水 ... 好了,我们 阅读全文
posted @ 2021-01-09 10:48 欣欣雪 阅读(254) 评论(0) 推荐(0)
摘要:一、导读 常见的编译型语言如C++,通常会把代码直接编译成CPU所能理解的机器码来运行。而Java为了实现“一次编译,处处运行”的特性,把编译的过程分成两部分,首先它会先由javac编译成通用的中间形式——字节码,然后再由解释器逐条将字节码解释为机器码来执行。所以在性能上,Java通常不如C++这类 阅读全文
posted @ 2021-01-08 17:16 欣欣雪 阅读(391) 评论(0) 推荐(0)
摘要:C++ 难学易用,多少人曾经爱过恨过, 相关书籍之多,人人都想找到一份辟邪剑谱 这里由浅入深的罗列5本传世经典著作 跟随本书单打好基础、开阔视野、学好C++ 友情链接:https://jq.qq.com/?_wv=1027&k=f1pgUXkM ▊《Essential C++中文版》 【美】Stan 阅读全文
posted @ 2021-01-08 16:29 欣欣雪 阅读(177) 评论(1) 推荐(0)
摘要:支持多种编程语言 * 多个编译器版本在线编译运行的网站。 可以在这里做方便、快速地一些小实验、尝试一些编程语言的新特性,比如 C++20。 Wandbox Quick C++ Benchmark[2] 可以快速对一些 C++ 代码片段进行 benchmark 并可视化显示出来。 支持多个版本的 cl 阅读全文
posted @ 2021-01-08 15:41 欣欣雪 阅读(195) 评论(0) 推荐(0)
摘要:下面给大家介绍下Java对象属性复制组件(MapStruct),以及项目中引入遇到的坑。 1. 问题背景 日常编程中,经常会碰到对象属性复制的场景,就比如下面这样一个常见的三层MVC架构。 前端请求通过VO对象接收,并通过DTO对象进行流转,最后转换成DO对象与数据库DAO层进行交互,反之亦然。 当 阅读全文
posted @ 2021-01-08 15:33 欣欣雪 阅读(700) 评论(0) 推荐(0)
摘要:写文章 我们在开发、断的刷题、面试中,我们可能会遇到将一个对象的属性赋值到另一个对象的情况,这种情况就叫做拷贝。拷贝与Java内存结构息息相关,搞懂Java深浅拷贝是很必要的! 在对象的拷贝中,很多初学者可能搞不清到底是拷贝了引用还是拷贝了对象。在拷贝中这里就分为引用拷贝、浅拷贝、深拷贝进行讲述。 阅读全文
posted @ 2021-01-08 13:58 欣欣雪 阅读(102) 评论(0) 推荐(0)
摘要:小三:“怎么了小二?一副无精打采的样子!” 小二:“唉!别提了,还不是最近又接触了一个叫英雄联盟的游戏,游戏中很多皮肤都需要花钱买,但是我钱不够呀...” 小三:“咋啦,钱攒够了你还要买呀?还吃不吃饭了?!要我说,你干脆将英雄的炫彩皮肤都爬下来欣赏一下得了,饭钱还给你省下了。” 小二:“你说的也对, 阅读全文
posted @ 2021-01-07 19:03 欣欣雪 阅读(343) 评论(0) 推荐(0)
摘要:void 是编程语言中最常见的关键字之一,从字面上理解,它是“空的、空集、空白”的意思,最常用于表示函数的一种返回值类型。 维基百科上有一个定义: The void type, in several programming languages derived from C and Algol68, 阅读全文
posted @ 2021-01-07 19:01 欣欣雪 阅读(170) 评论(0) 推荐(0)
摘要:在两个收集器之间存在连线,可以搭配使用 收集器所处的区域,表示它是属于新生代还是老年代收集器 不存在“万能”的收集器,选择的只是对具体应用最合适的收集器 收集器发展目标: 为消除或者降低用户线程因垃圾收集而导致停顿的时间 三项指标: 1.内存占用(Footprint) 2.2.吞吐量(Through 阅读全文
posted @ 2021-01-07 14:13 欣欣雪 阅读(130) 评论(0) 推荐(0)