前言 大家如果想自己组装电脑的话,肯定需要购买一个 CPU,但是存储器方面的设备,分类比较多,那我们肯定不能只买一种存储器,比如你除了要买内存,还要买硬盘,而针对硬盘我们还可以选择是固态硬盘还是机械硬盘. 相信大家都知道内存和硬盘都属于计算机的存储设备,断电后内存的数据是会丢失的,而硬盘则不会,因为硬盘是持久化存储设备,同时也是一个 I/O 设备. 但其实 CPU 内部也有存储数据的组件,这个应该比较少人注意到,比如寄存器.CPU L1/L2/L3 Cache 也都是属于存储设备,只不过它们能存…
前情回顾 自从我上次发了<这道Java基础题真的有坑!我求求你,认真思考后再回答.>这篇文章后.我通过这样的一个行文结构: 解析了小马哥出的这道题,让大家明白了这题的坑在哪里,这题背后隐藏的知识点是什么. 但是我是万万没想到啊,这篇文章居然还有续集.因为有很多读者给我留言,问我为什么?怎么回事?啥情况? 问题片段一:到底循环几次? 有很多读者针对文章的下面的这个片段: 来问了一些问题:为什么会循环三次?循环二次?循环一次? 源码看的脑袋疼.那我觉得我需要"拯救"一下这个哥们…
​ ​ 众筹作为当下创业者筹集资金,将创意变为现实的最重要手段之一,正面临着越来越多的困难,甚至衍生出杀死众筹的N种方法.甚至这些方法还分为了两类,就众筹本身看,杀死它们的主要方法是:创业者卷钱跑路.创意难以变为现实等.而从外部方法看,主要是消费者口味的迅速变化.生产链难以把握等.但如今又多了一种新的死法:山寨的出现. 众筹产品的发布,往往要经历数个阶段:创业者确定创意.在众筹网站公布.筹集资金.生产--而每一个阶段都会经历不短的时间,这就让山寨公司有机可乘.山寨公司快速反应的机制.迅速集结的生…
没想到吧,Python 又拿第一了! 在 Google 公布的编程语言流行指数中,Python 依旧是全球范围内最受欢迎的技术语言!   01 为什么 Python 会这么火? 核心还是因为企业需要用它!因为其易用.逻辑简单并拥有海量扩展包等特性,不仅成为了 AI 的首选语言,而且在数据分析.Web.爬虫等领域也一样如此!不过,它最厉害的地方还是:能够把其他语言制作的各种模块(尤其是C/C++/Java/PHP/前端)很轻松的连接在一起.这也就不难理解,为什么现在很多编程岗位,都要求会使用 Py…
摘要:嘘,华为云内部都不知道的秘密玩法,我悄悄告诉您! 双"魔"合璧庆双节 ↑开局一张图,故事全靠编 华为云的一站式开发平台ModelArts和应用魔方AppCube居然能玩到一起,这是可能是华为云官方自己也没想到的场景,而我,从8月份开始体验公测应用魔方AppCube以来,一路坎坷,从给AppCube提Bug,到等待新版本发布完毕,再一步一步摸着石头过河,一直在探索AppCube与ModelArts的结合,缘由很简单--我希望低门槛开发AI应用.低门槛落地AI应用,不过,差强人意的是…
摘要:echarts 是一个很强大的图表库,除了我们常见的图表功能,还可以自定义图形,这个功能让我们可以很简单地在画布上绘制一些非常规的图形,基于此,我们来玩一些花哨的:做一个 Flappy Bird 小游戏. 本文分享自华为云社区<没想到吧!这个可可爱爱的游戏居然是用 ECharts 实现的!>,作者: DevUI . 前言 echarts 是一个很强大的图表库,除了我们常见的图表功能,echarts 有一个自定义图形的功能,这个功能可以让我们很简单地在画布上绘制一些非常规的图形,基于此,我…
在做关于NIO TCP编程小案例时遇到无法监听write的问题,没想到只是我的if语句的位置放错了位置,哎,看了半天没看出来 贴下课堂笔记: 在Java中使用NIO进行网络TCP套接字编程主要以下几个类: ServerSocketChannel: 服务端套接字通道,主要监听接收客户端请求 Selector:通道选择器,主要用于管理服务端通道和所有客户端通道(监听通道中发生的事件),也就说是一个多路通道复用器. SelectorKey: 事件选择键 SocketChannel: 套接字通道(客户端…
centos clamav杀毒软件安装配置及查杀,没想到linux下病毒比windows还多! 一.手动安装 1.下载(官网)    cd /soft     wget http://www.clamav.net/downloads     2.解压    cd /soft    tar zxvf clamav-0.99.2.tar.gz -C /usr/local/src    cd /usr/local/    mkdir clamav    cd /usr/local/src/clamav…
[编程题] 万万没想到之抓捕孔连顺 时间限制:1秒 空间限制:131072K 我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺.和我一起行动的还有另外两名特工,我提议   1. 我们在字节跳动大街的N个建筑中选定3个埋伏地点. 2. 为了相互照应,我们决定相距最远的两名特工间的距离不超过D.   我特喵是个天才! 经过精密的计算,我们从X种可行的埋伏方案中选择了一种.这个方案万无一失,颤抖吧,孔连顺! …… 万万没想到,计划还是失败了,孔连顺化妆成小龙女,混在c…
时间限制:1秒 空间限制:32768K 我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现一个发现拼写错误的捷径: 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello 两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo -> hello 上面的规则优先“从左到右”匹配,即如果是AABBCC,虽…
没想到,Git居然有后悔药! 你知道Git版本控制系统中都有哪些"后悔药"吗? 本文通过案例讲解git reset . git revert . git checkout在版本控制中的作用: 场景 小明同学作为新人加入到一个新的项目组中做开发,在项目的迭代开发中,小明勤勤恳恳的写代码,直到有一次... 小明:完了,完蛋了 洋仔:怎么了,一惊一乍的 小明:我把错误代码用git commit后还push到线上代码库了! 这可怎么办! 洋仔:莫慌,git有"后悔药"! 洋…
我在看HashMap源码的时候发现了一个没思考过的问题,在这之前可以说是完全没有思考过这个问题,在一开始对这个点有疑问的时候也没有想到居然有这么个语法细节存在,弄得我百思不得其解,直到自己动手做实验改写了代码才完全明白. HashMap里面保存的数据最底层是一个Entry型的数组,这个Entry则保留了一个键值对,还有一个指向下一个Entry的指针.所以HashMap是一种结合了数组和链表的结构.正因为如此,你有3种对数据的观测方式:keySet,values,entrySet.第一个是体现从k…
这是why的第 63 篇原创文章 荒腔走板 大家好,我是 why,欢迎来到我连续周更优质原创文章的第 63 篇.老规矩,先荒腔走板聊聊其他的. 上面这张图片是我前几天整理相册的时候看到的.拍摄于 2016 年 8 月 20日,北京. 那个时候我刚刚去北京没多久,住在公司的提供的宿舍里面.宿舍位于北京二环内的一个叫做东廊下的胡同里. 位置极佳,条件极差. 我刚刚进入宿舍的时候,房间里面只有一张大床.一个矮矮的电视柜.一个不能摇头的风扇.我的房间也没有空调,到处都是灰蒙蒙的,用卫生间都是去楼下的公共…
呵呵,就不倚老卖老了,从basic走过来,一路经历vb,vf,delphi,C#,php,asp,html,js,css,太多太多的开发语言,包括面向对象编程思想,语义化页面结构等等,除了高级的编程技术未涉及(比如反射.分布式等),基本的东西我都懂. 大富翁的落幕我也经历过,编程语言的兴衰我也体会过(以前做很多项目要求不能用ASP),但终归一句话: 万变不离其宗. 月经贴之所以存在的价值,就是因为很多人容易被拉进一个小巷子(C#值不值钱),然后在这个巷子里起哄(为什么不值钱),有点当局者谜的意味…
说明 昨天同事开发的时候遇到了一个奇怪的问题. 使用Guava做缓存,往里面存一个List,为了方便描述,称它为列表A,在另一个地方取出来,再跟列表B中的元素进行差集处理,简单来说,就像是下面这样: public class ArrayListTest { // 方便起见,这里用HashMap来做缓存 private Map<String, List<Long>> cache = new HashMap<>(); private void save(){ List<…
到底是要猫还是要狗 在上篇文章中,我们编撰了一则简短的小故事用于讲解了什么是面向对象的继承特性以及 Go 语言是如何实现这种继承语义的,这一节我们将继续探讨新的场景,希望能顺便讲解面向对象的接口概念. 为了照顾到没有看过上一节文章的读取,这里再简述一下上节文章关于买宠物的故事,如需详细了解,请自行翻阅历史文章进行查看. A: 猫是一种宠物,淘气可爱会卖萌,看家本领抓老鼠,偶尔还会喵喵喵. B: 狗是一种宠物,忠实听话能看家,嗅觉灵敏会破案,一言不合汪汪汪. C: 我想要买一个宠物,文能卖萌,武可…
前言 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 在前一阵子,大哥问过我:"你知道MySQL的原子性是怎么保证的吗".我懵逼了,MySQL怎么保证原子性?我不会啊. 谁都知道在事务里边原子性的意思:"一个事务包含多个操作,这些操作要么全部执行,要么全都不执行" 于是大哥就给我讲:"用的就是 undo log 啊". 我:"卧槽,又是知识盲区" 后…
最近面了一些公司,有一些 Java方面的架构.面试资料,有需要的小伙伴可以在公众号[程序员内点事]里,无套路自行领取 说在前边 最近部门几位同事受了一些委屈相继离职,共事三年临别之际颇有不舍,待一切手续办妥帖,寒暄过后送他们出公司,几个老哥临别时冲我鬼魅一笑,我顿时心里一紧有种不好的预感,这事绝对没有这么简单.等我接手这几个大佬的项目后,应验了我的预感,此刻我居然有点后悔,为啥送别之时没揍他们一顿!哈哈哈~ 而这种打人的冲动,在我开始优化几位老哥的项目时候,变得越来越强烈. 有个坑 技术部每个月…
点赞再看,养成习惯,微信搜索[三太子敖丙]关注这个互联网苟且偷生的工具人. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. Volatile可能是面试里面必问的一个话题吧,对他的认知很多朋友也仅限于会用阶段,今天我们换个角度去看看. 先来跟着丙丙来看一段demo的代码 你会发现,永远都不会输出有点东西这一段代码,按道理线程改了flag变量,主线程也能访问到的呀? 为会出现这个情况呢?那我们就需要聊一下另外一个…
本文收录在个人博客:www.chengxy-nds.top,共享技术资源,共同进步 前一段有幸参与到一个智能家居项目的开发,由于之前都没有过这方面的开发经验,所以对智能硬件的开发模式和技术栈都颇为好奇. 产品是一款可燃气体报警器,如果家中燃气泄露浓度到达一定阈值,报警器检测到并上传气体浓度值给后台,后台以电话.短信.微信等方式,提醒用户家中可能有气体泄漏. 用户还可能向报警器发一些关闭报警.调整音量的指令等.整体功能还是比较简单的,大致的逻辑如下图所示: 但当我真正的参与其中开发时,其实有一点小…
背景 其实这个问题我之前也看到过,刚好在前几天,洪教授在某个群里分享的一个<一些有意思的攻击手段.pdf>,我觉得这个话题还是有不少人不清楚的,今天我就准备来“实战”一把,还请各位看官轻拍. 洪强宁(洪教授),爱因互动创始人兼 CTO,曾任豆瓣首席架构师,为中国 Python 用户组(CPUG)的创立者之一. 这才是真大佬,原来洪教授在宜信的时候,就有分享过这个内容,可惜当初不知道没参加.看了之后才知道原来我上一篇的文章中讲的 计时攻击(Timing Attack) 也是其中的内容之一.哈哈,…
少年易学老难成,一寸光阴不可轻.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BAT的乌托邦]逐个击破,深入掌握,拒绝浅尝辄止. 目录 前言 版本约定 正文 创建JsonGenerator实例 创建JsonParser实例 创建非阻塞实例 JsonFactory的Feature INTERN_FIELD_NAMES(true) CANONICALIZE_FIELD_NAMES…
本文收录在个人博客:www.chengxy-nds.top,技术资料共享,同进步 程序员是块砖,哪里需要哪里搬 公司内部的OA系统最近要升级改造,由于人手不够就把我借调过去了,但说真的我还没做过这方面的功能,第一次接触工作流的开发,还是有点好奇是个怎样的流程. 项目主要用 Springboot + Flowable 重构原有的工作流程,Flowable 是个用 Java语言写的轻量级工作流引擎,上手比较简单开发效率也挺高的,一起学习下这个框架. 官方地址:https://www.flowable…
1.类加载过程 类加载时机 「加载」 将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在内存上创建一个java.lang.Class对象用来封装类在方法区内的数据结构作为这个类的各种数据的访问入口. 「验证」 主要是为了确保class文件中的字节流包含的信息是否符合当前JVM的要求,且不会危害JVM自身安全,比如校验文件格式.是否是cafe baby魔术.字节码验证等等. 「准备」 为类变量分配内存并设置类变量(是被static修饰的变量,变量不是常量,所以…
二.Java内存区域 1.Java内存结构 内存结构 程序计数器 当前线程所执行字节码的行号指示器.若当前方法是native的,那么程序计数器的值就是undefined. 线程私有,Java内存区域中唯一一块不会发生OOM或StackOverflow的区域. 虚拟机栈 就是常说的Java栈,存放栈帧,栈帧里存放局部变量表等信息,方法执行到结束对应着一个栈帧的入栈到出栈. 线程私有,会发生StackOverflow. 本地方法栈 与虚拟机栈的作用是一样的,只不过虚拟机栈是服务 Java 方法的,而…
一.啥是N皇后?先从四皇后入手 给定一个4x4的棋盘,要在棋盘上放置4个皇后.他们的位置有这样的要求,每一列,每一行,每一对角线都能有一个皇后. 你可能会对这个对角线有疑惑,其实就是每一个小正方形的对角线都不能有皇后.可以看图理解一下. 二.解题思想 设皇后k摆放在x[k]的位置上,注意数组下标从0开始,0<=k<n且0<=x[k]<n. 这里用数组下标以及对应的值,模拟了一个棋盘的行和列.这是比较奇妙的地方,不需要二维数组了. 算法:setQueen(n) 输入:皇后的个数n 输…
本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富~ 今天介绍我正在用的一款高效敏捷开发工具magic-api,顺便分享一点工作中使用它的心得 缘起 先说一下我为什么会使用这个工具? 最近新启动一个项目,业务并不算复杂,那种典型的管理系统,产品要求支持全局页面配置化,前端一切相关配置必须通过接口返回,比如:像查询下拉框(启用.禁用)这类简单的条件,国际化,必须做到全动态配置. 其实只要人手够时间够,这些都没问题,…
文章中出现的源码均基于8.0 前言 事件分发机制不仅仅是核心知识点更是难点,并且还是View的一大难题滑动冲突解决方法的理论基础,因此掌握好View的事件分发机制是十分重要的. 一.基本认识 1. 事件分发的对象 事件分发的对象是点击事件(Touch事件),而当用户触摸屏幕时,将产生点击事件. 事件类型分为四种,如下所示: 类型 说明 MotionEvent.ACTION_DOWN 手指刚接触屏幕,一般为事件的开始 MotionEvent.ACTION_MOVE 手指在屏幕移动,在移动的过程中会…
大家好,我是小林. 昨晚有位读者问了我这么个问题: 大概意思是,一个已经建立的 TCP 连接,客户端中途宕机了,而服务端此时也没有数据要发送,一直处于 establish 状态,客户端恢复后,向服务端建立连接,此时服务端会怎么处理? 看过我的图解网络的读者都知道,TCP 连接是由「四元组」唯一确认的. 然后这个场景中,客户端的IP.服务端IP.目的端口并没有变化,所以这个问题关键要看客户端发送的 SYN 报文中的源端口是否和上一次连接的源端口相同. 1. 客户端的 SYN 报文里的端口号与历史连…
3D打印一直被冠以“高科技”头衔,似乎离我们的日常生活还很遥远.其实不然,随着技术的创新,3D打印技术逐渐深入各个领域,工业生产.商业.医学.建筑.艺术等领域都能看到3D打印技术的影子.它将会改变我们对事物的认知,并且这些3D打印的产品与我们的生活息息相关,易维在这里分享给大家几个基于3D打印技术在日常设计中的典型应用. 一.3D打印家具技术——定制家具时代的到来 如果要问买家具时会注意到的因素有哪些?相信家具的尺寸和样式是人们首先会关注到的方面,买家不必再因为尺寸与样式两者不可兼顾而烦恼,3D…