dasein58_个人页

个人头像照片 dasein58
个人头像照片 个人头像照片
962
0
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2021年11月

  • 11.08 21:09:52
    发表了文章 2021-11-08 21:09:52

    Hive与数据库的异同

    一、Hive简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 Hvie是建立在Hadoop上的数据仓库基础架构。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive定义了简单的类SQL查询语句,称为HQL,它允许熟悉SQL
  • 11.08 21:05:45
    发表了文章 2021-11-08 21:05:45

    关于互联网的两次长考

    2008年4月,李彦宏说,“五年后不再有互联网公司,因为所有公司都在用互联网”。这句话引起了很大轰动。我非常赞同他的观点。未来不再有所谓的互联网公司,我曾为这个问题在1999年就思考了半年时间,至于是不是五年时间,现在还不好说。 虽然我早在1993年就开始用互联网,1996年是发烧级的BBS站友,但关于互联网是什么这么简单的一个问题,我曾思考过两次很长时间,一次是1999年创办卓越网之前,一次是2004年出售卓越网之后,每次都长达半年时间。两次长考的结论也很简单: 1. 互联网首先是工具,未来不存在所谓的互联网公司。 2. 互联网是一次观念的革命,只有改变观念,才能跟上互联网时代。 一
  • 11.08 21:05:18
    发表了文章 2021-11-08 21:05:18

    雷军回顾20年前自己的“程序人生”,还用吴奇隆的歌词文艺了一把

    虎嗅注:今天,雷军在他的公众号里发了一篇他20年前写的帖子,那个时候还是1996年,是通过电话线拨号连接到西点BBS上飙帖子玩的年代。那是一个互联网混沌初开的年代,那是一个BBS和Email几乎主宰了全部互联网的年代,那是一个青春的理想和热血沸腾的年代。我是一个程序员,一个软件工程师。到今天,我也依然是一个程序员,一个软件工程师。 雷军在文章中说,本文是20年前我对程序人生的一点看法。20年后的今天,重读之后,这依然是我对程序人生的态度。 文末还引用了吴奇隆的《祝你一路顺风》中的歌词那一天知道你要走,我们一句话都没有说。真是文艺青年啊。下面是雷军20年前写的文章,虎嗅未做删减。 程序人生
  • 11.08 21:04:45
    发表了文章 2021-11-08 21:04:45

    Java多线程学的怎么样?由这15个问题来检验

    Java 线程面试问题 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有足够的Java线程与并发方面的知识,因为候选人中有很多只浮于表面。用于直接面向市场交易的高容量和低延时的电子交易系统在本质上是并发的。下面这些是我在不同时间不同地点喜欢问的Java线程问题。我没有提供答案,但只要可能我会给你线索,有些时候这些线索足够回答问题。现在引用Java
  • 11.08 21:04:04
    发表了文章 2021-11-08 21:04:04

    Python 的高级特性:容易忽略的不可变类型

    Python 中有一些容易忽略的不可变类型 Str、Integer、None、Tuple # 错误演示 In [45]: def demo(lst = []): ....: lst.append("hello") ....: return lst ....: In [46]: demo() Out[46]: ['hello'] In [47]: demo() Out[47]: ['hello', 'hello'] 廖雪峰的 Python 教程有提到这一块,但并没有太细致。在这里,由于 lst 是一个可变参数,而 demo 在初始化时 lst 参数指向
  • 11.08 21:03:32
    发表了文章 2021-11-08 21:03:32

    一名函数式编程师,是什么样的

    迈出理解函数式编程思想的第一步是最重要的,同时也许是最难的。关于这一点,仁者见仁智者见智。 学车 当我们第一次碰车,我们痛苦并努力着,看起来很简单的操作自己上手的时候就变得比自己想象的难得多。尽管用父母的车经过多次练习,不把周围的路跑熟是不敢上高速路冒险的。但是经过不断练习和一些父母宁愿忘记的“心跳时刻”后,我们最终还是拿到了自己的驾照。 A Ascar 翻译于 01/13 15:12 顶 其它翻译版本 (1) 有了我们的驾照, 只要有可能, 我们就会把车开出来。每次旅行, 我们都变得越来越好, 信心也增强了。后来有一天, 我们不得不开别人的车, 否则我们的车终
  • 11.08 21:02:53
    发表了文章 2021-11-08 21:02:53

    如何设计一个本地缓存

    前言 最近在看Mybatis的源码,刚好看到缓存这一块,Mybatis提供了一级缓存和二级缓存;一级缓存相对来说比较简单,功能比较齐全的是二级缓存,基本上满足了一个缓存该有的功能;当然如果拿来和专门的缓存框架如ehcache来对比可能稍有差距;本文我们将来整理一下实现一个本地缓存都应该需要考虑哪些东西。 考虑点 考虑点主要在数据用何种方式存储,能存储多少数据,多余的数据如何处理等几个点,下面我们来详细的介绍每个考虑点,以及该如何去实现; 1.数据结构 首要考虑的就是数据该如何存储,用什么数据结构存储,最简单的就直接用Map来存储数据;或者复杂的如redis一样提供了多种数据类型哈
  • 11.08 20:47:09
    发表了文章 2021-11-08 20:47:09

    做程序媛这几年,感受?体验?

    首先,感受,和男程序员一个样……(真不是废话) BUG是修不完的,但是不能放过它,因为你的内心会遭受煎熬。。。。 直接进入体验,就不用重复的文字去啰嗦了,直接上图哈 以下的这几种情况,在我的生活中,是真的不断出现,连样式都没变过; first:修电脑AND重装系统,就在今天,历史总是不断的重复上演: 此人是我大学同学,都是学计算机专业的,为什么要这样对我? second:P图,这个是我一个算是闺蜜群吧,平时各种问题,接踵而至,我就这么值的相信吗? 我真的太难了…… third:电脑异常,以及office办公软件的使用,excel……身边这样的人太多了,已无力吐槽,因为已成日常
  • 11.08 20:46:40
    发表了文章 2021-11-08 20:46:40

    这些常被忽视的SQL错误用法,你知道吗

    sql语句的执行顺序: FROM <left_table> ON <join_condition> <join_type> JOIN <right_table> WHERE <where_condition> GROUP BY <group_by_list> HAVING <having_condition> SELECT DISTINCT <select_list> ORDER BY <order_by_condition> LIMIT <limit_number> 1、LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语
  • 11.08 20:45:51
    发表了文章 2021-11-08 20:45:51

    稳定易用的 Django 分页库,完善分页功能

    在 通过 Django Pagination 实现简单分页 中,我们实现了一个简单的分页导航。但效果有点差强人意,我们只能点上一页和下一页的按钮进行翻页。比较完善的分页效果应该像下面这样,但想实现这样一种效果,Django Pagination 内置的 API 已无能为力。接下来我们将通过拓展 Django Pagination 来实现下图这样比较完善的分页效果。 分页效果概述 一个比较完善的分页效果应该具有以下特性,很多网站都采用了类似这种的分页导航方式。 始终显示第一页和最后一页。 当前页码高亮显示。 显示当前页码前后几个连续的页码。 如果两个页码号间还有其它页码,中间显示省略号以提
  • 11.08 20:45:11
    发表了文章 2021-11-08 20:45:11

    一周的闪念胶囊,总有一个能帮助到你

    1、不管是做需求还是测试,都应该考虑整个链路,确保兼容性或者其他模块不受影响。比如内容创作改动,应该考虑到审核侧、内容分发侧是否正常。 2、需求一定要经过测试。不要站在自己的角度,以为测试人员无法测试某种场景。因为方法总比困难多,比如可以把链路当中修改的点单独拎出来进行对比测试。还要多提一点的是,尽量在代码修改处添加日记,确保测试能覆盖到。 3、输出日记时也要避免空指针异常。如果在业务逻辑中不会出现空指针异常,却在输出日记时抛异常,那真的是冤大头了。 4、批量回刷或者删数据有风险,特别是无法恢复的物理硬删除。所以此类场景应该由用户主动触发,而不是借助定时任务批量执行。 5、数据和操作行
  • 11.08 20:44:43
    发表了文章 2021-11-08 20:44:43

    程序员的遮羞布:这个需求技术上无法实现

    老读者都知道的,我在三线小镇洛阳工作。公司很小,开发人员最多的时候也就十来个,最少的时候也就我一个光杆司令。由于掌握着公司所有的核心代码,所以我一直很嚣张。老板也拿我没办法,有时候为了追加一个功能,还得看我脸色。而我呢,经常甩给老板的一句话就是:“这个需求技术上无法实现。” 有时候,老板被我逼急了,就在办公室大发雷霆,但我仍然毫不示弱:“实现不了就是实现不了,你发脾气也没用。”老板的需求也没有太过分,无非就是让我追加一些类似“自动赚钱”的功能。哈哈哈,开个玩笑。 说句实在话,老板有些需求的确很难在技术上实现,但有些不是的。我抛出“技术上无法实现”这个说法无非是想堵住老板的嘴,因为需求是做不
  • 11.08 20:42:26
    发表了文章 2021-11-08 20:42:26

    详解 Java 的八大基本类型,写得非常好

    自从Java发布以来,基本数据类型就是Java语言中重要的一部分,本文就来详细介绍下每种基本类型的具体使用方法和限制。 几年前,我开始编写了一系列有关Java入门的文章,我觉得有必要将其中一些非常细节的内容单独拿出来写成文章。这样,那些入门内容就更容易理解了。首先,我来介绍一下有关Java 8中的基本类型。 如题所述,Java语言本身有8种基本类型。在下面几节中,就让我们一起来看看这8种基本类型。我将针对每种基本类型,介绍具体的使用方法和限制。
  • 11.08 20:41:12
    发表了文章 2021-11-08 20:41:12

    你知道Java虚拟机最多能支持多少个线程吗?

    McGovernTheory在StackOverflow提了这样一个问题:Java虚拟机最多支持多少个线程?跟虚拟机开发商有关么?跟操作系统呢?还有其他的因素吗?Eddie的回答:这取决于你使用的CPU,操作系统,其他进程正在做的事情,你使用的Java的版本,还有其他的因素。我曾经见过一台Windows服务器在宕机之前有超过6500个线程。当然,大多数线程什么事情也没有做。一旦一台机器上有差不多6500个线程(Java里面),机器就会开始出问题,并变得不稳定。以我的经验来看,JVM容纳的线程与计算机本身性能是正相关的。当然了,你要有足够的本机内存,并且给Java分配了足够的内存,让每个线程都可
  • 11.08 20:40:25
    发表了文章 2021-11-08 20:40:25

    反常理,反直觉,区块链是怎样的一种“分布式系统”

    我们经常看到“区块链是分布式系统”的说法,并推论出区块链先天具备分布式系统的优势,仿佛作为分布式系统,规模就该足够大,数据就该足够分散。 事实上,典型区块链有很多特征和常见的分布式系统不同,甚至是相悖的,为此,区块链曾被戏称为“最慢的分布式数据库”。 其实区块链之所以难以理解,其中一个原因是其设计哲学的“反常理、反直觉”。笔者本人曾多年在互联网海量服务领域里踩坑,然后转向区块链领域深入研究,也经历过一阵子的观念切换期。 本文不打算全面讲述分布式系统原理和历史,那能写几本书。这里打算从常见的、被人广泛认知的互联网分布式系统出发,聊聊“分布式系统”和区块链有什么异同,对技术和设计的要求有哪些
  • 11.08 20:39:48
    发表了文章 2021-11-08 20:39:48

    排除万难,从入门到精通区块链

    目前越来越多的人已经进入或准备进入区块链领域,过程中不免抱着各样的疑虑和问题。想起自己之前用几年时间,从“略懂”区块链到all in,同样也经历着类似的心路历程,这个领域确实是有一些门槛的,但万事开头难,摸索路上还远不止八十一难,这里梳理几个概要性的困难和感悟,谨作分享。 方向之难 “我是谁”、“我在哪”、“我要去哪儿”,一切都源于这么一个哲学三问。区块链是什么?区块链究竟能做什么?为什么区块链这么火?不用区块链行不行?这些问题都充满了终极拷问的意味。 其实很难彻底回答这些问题,因为,并没有标准答案。所有创新的前沿的事物大抵如此,在质疑和动荡中发展,在黑暗和荒芜中摸索,精华和糟粕齐飞,绿
  • 11.08 20:36:44
    发表了文章 2021-11-08 20:36:44

    MySQL存储的字段是不区分大小写的,你知道吗?

    00 简单回顾 之前写过一篇关于mysql 对表大小写敏感的问题,其实在mysql中字段存储的内容是不区分大小写的,本篇进行简单的总结。 想回顾一下: MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 1、数据库名与表名是严格区分大小写的; 2、表的别名是严格区分大小写的; 3、列名与列的别名在所有的情况下均是忽略大小写的; 4、字段内容默认情况下是大小写不敏感的。 01 一个例子 简单例子: CREATE TABLE `tb_user` ( `id` BIGINT (20) UNSIGNED NOT NULL AUTO_INCREMENT COMM
  • 11.08 20:36:13
    发表了文章 2021-11-08 20:36:13

    PC 已死,云 PC 取而代之

    老式 PC 即将淘汰,其正在被桌面即服务,基于云的 PC 所取代。 据了解, ZDNet 的 Ed Bott 最近指出,十年前人们是如何预测PC 的死亡的,只是为了表明台式 PC 仍然活着而且还很好。事实确实如此,PC 现在仍可以继续使用。但是现如今,幕后知识正在从以用户和 PC 为中心的操作系统转变为基于云的桌面即服务(DaaS)模型。 微软放弃了 PC 上的 Windows,并以其Windows 虚拟桌面(WVD)来取而代之。Windows 虚拟桌面客户端适用于 Windows,Android,Mac,iOS 和HTML5。换句话说,如果用户具有浏览器和PC,就可以将 Windows
  • 11.08 20:34:46
    发表了文章 2021-11-08 20:34:46

    Java 有值类型吗?

    有人看了我之前的文章『Swift 语言的设计错误』,问我:“你说 Java 只有引用类型(reference type),但是根据 Java 的官方文档,Java 也有值类型(value type)和引用类型的区别的。比如 int,boolean 等原始类型就是值类型。” 现在我来解释一下这个问题。 Java 有值类型,原始类型 int,boolean 等是值类型,其实是长久以来的一种误解,它混淆了实现和语义的区别。不要以为 Java 的官方文档那样写就是权威定论,就可以说“王垠不懂” :) 当你认为王垠不懂一个初级问题的时候,都需要三思,因为他可能是大智若愚…… 看了我下面的论述,也许你会
  • 11.08 20:32:57
    发表了文章 2021-11-08 20:32:57

    linux C++ 与Windows C++ 领域之争,作为C++学习者,你怎么看?

    我之所以把这一个标题单独列出来,是想纠正现在很多 C/C++ 新人和初学者的一些的不当认识,一般有以下几种观点: linux C++开发就是后台开发,而 Windows C++ 开发就是客户端开发; 后端开发比客户端开发(前端)高级,因此后端开发行业薪资水平比客户端开发薪资要高; 我只学 linux,不学Windows。 我相信对于80和90这一代的开发者来说,当初接触计算机并进入软件行业,都是从接触 Windows 开始的。时至今日,大数据、人工智能等各种新技术方兴未艾,移动互联网如火如荼。但是无论是 linux 还是 Windows,尤其是Windows,还是我们大多数人工作、学习
  • 11.08 20:31:41
    发表了文章 2021-11-08 20:31:41

    Go语言程序结构分析初探

    每一种编程语言都有自己的语法、结构以及自己的风格,这也是每种语言展现各自魅力及众不同的地方。Go也不例外,它简单而优雅,与此同时使用起来也很有趣。在本文中,我们将讨论以下几点: Go程序结构 如何运行Go程序 Go中的注释 分号 代码回顾 Go程序结构 要理解Go程序的结构,首先需要有一个Go程序,让我们重温一下最受欢迎的Hello, World!程序。 package main import "fmt" func main() { fmt.Println("Hello,World!") } 每个源文件(扩展名为.go的文件)必须有一个包声明。
  • 11.08 20:31:12
    发表了文章 2021-11-08 20:31:12

    快速排序(C++实现)

    一、快速排序的基本实现 快速排序算法是一种基于交换的高效的排序算法,它采用了分治法的思想: 1、从数列中取出一个数作为基准数(枢轴,pivot)。 2、将数组进行划分(partition),将比基准数大的元素都移至枢轴右边,将小于等于基准数的元素都移至枢轴左边。 3、再对左右的子区间重复第二步的划分操作,直至每个子区间只有一个元素。 快排最重要的一步就是划分了。划分的过程用通俗的语言讲就是“挖坑”和“填坑”。
  • 11.08 20:30:39
    发表了文章 2021-11-08 20:30:39

    值得收藏 | 专业的MySQL开发规范

    数据库对象命名规范 数据库对象 命名规范的对象是指数据库SCHEMA、表TABLE、索引INDEX、约束CONSTRAINTS等的命名约定 数据库对象命名原则 1. 命名使用具有意义的英文词汇,词汇中间以下划线分隔 2. 命名只能使用英文字母、数字、下划线 3. 避免用MySQL的保留字如:call、group等 4. 所有数据库对象使用小写字母 数据库命名规范 1. 数据库名不能超过30个字符 2. 数据库命名必须为项目英文名称或有意义的简写 3. 数据库创建时必须添加默认字符集和校对规则子句。默认字符集为UTF8(已迁移dumbo的使用utf8mb4) 4. 命名应
  • 11.08 20:30:09
    发表了文章 2021-11-08 20:30:09

    ArrayList插入1000w条数据之后,我怀疑了jvm...

    "狼哥,我发现新大陆了,等会发你代码" "咋了,这么激动" "等会..." List<Integer> list0 = new ArrayList<Integer>(); long start0 = System.currentTimeMillis(); for (int i = 0; i < 10000000; i++) { list0.add(i); } System.out.println(System.currentTimeMillis() - start0); long start1 = System.currentTimeMillis(); List<Inte
  • 11.08 20:25:54
    发表了文章 2021-11-08 20:25:54

    图数据库neo4j数据导入、备份和恢复

    在之前的文章中,介绍了如何搭建neo4j集群,集群的故障切换和节点恢复,还介绍了如何配置驱动实现自动failover。本文聚焦在neo4j的数据上。聊聊如何从外部数据源将数据导入neo4j,如何对neo4j数据库进行备份和恢复。 数据导入 可以有多种方式将数据导入neo4j。大致分为cypher语句导入、apoc.load函数过程导入和离线import导入。 cypher语句导入 这个最简单,就是直接使用cypher语句的create或merge命令来创建neo4j的节点、边和属性。对比来说,create性能较好,但其不会进行存在与否的检查,可能会导致数据库中出现2个相同的节点等情况,
  • 11.08 20:25:09
    发表了文章 2021-11-08 20:25:09

    Android 程序员不得不收藏的 90+ 个人博客(持续更新...)

    每周打开一次收藏夹里的个人博客,已经成为了我的人生一大乐趣。 相比各大博客平台,我一直更加偏爱个人博客。在每个人自己的这一亩三分地里,你能看到的,学到的,不仅仅只有知识,还有不一样的生活,不一样的态度。 在这把我收藏的个人博客分享给大家,如果里面有你,不妨点个赞吧 ! 以下排名不分先后。如果一定要有个顺序,大概是按我收藏的顺序。 Trinea 的博客 来自滴滴出行,Android 开发助手 开发者,android-open-project 维护者 ,android-open-project-analysis 维护者。 中二病也要开发 ANDROID 挺喜欢的一位作者,遗憾的是已经
  • 11.08 20:24:23
    发表了文章 2021-11-08 20:24:23

    一个合格的程序员,需要哪些必备技能?

    对于一个Java开发来说,编程技能毋庸置疑是很重要的。 但是,除了基本的编程开发能力,其他方面的能力也是体现一个程序员的能力的很重要因素。 比如,问题排查能力、线上运维能力、项目管理能力、协调沟通能力等。 本文,主要来简单介绍一下,作为一个合格的Java开发,除了自身技术成长之外,还有哪些方面可以提升。 类开发技能 第一类,并不是纯coding技能,但是也和开发相关,我称之为类开发技能。 Linux系统 很多人的开发机器是windows,所以平时也基本都是图形化开发界面。但是,这并不意味着你就不需要基本的Linux技巧。 因为,你开发出来的应用可能部署在一台Linux机器上,很
  • 11.08 20:23:47
    发表了文章 2021-11-08 20:23:47

    统计各个分类和标签下的文章数

    在我们的博客侧边栏有分类列表和标签列表,显示博客已有的全部文章分类。现在想在分类名和标签名后显示该分类或者标签下有多少篇文章,该怎么做呢?最优雅的方式就是使用 django 的 annotate 方法。 Model 回顾 回顾一下我们的 model 代码,django 博客有一个 Post 和 Category 模型,分别表示文章和分类: blog/models.py class Post(models.Model): title = models.CharField('标题', max_length=70) body = models.TextField('正文')
  • 11.08 20:23:13
    发表了文章 2021-11-08 20:23:13

    如何操作?MySQL两千万数据优化解决过程且提供三种解决方案

    问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死。严重影响业务。 问题前提:老系统,当时设计系统的人大概是大学没毕业,表设计和sql语句写的不仅仅是垃圾,简直无法直视。原开发人员都已离职,到我来维护,这就是传说中的维护不了就跑路,然后我就是掉坑的那个!!! 我尝试解决该问题,so,有个这个日志。 方案概述 方案一:优化现有mysql数据库。优点:不影响现有业务,源程序不需要修改代码,成本最低。缺点:有优化瓶颈,数据量过亿就玩完了。 方案二:升级数
  • 11.08 20:20:19
    发表了文章 2021-11-08 20:20:19

    一天入门 Python 的一些心得

    1. 前言 好久没写文了。最近在搞一些好玩的技术用到了 Python 。我原以为要花些时日,谁知道第一天入门之后便没有再刻意地去学习它了。这里就写写其中的一些关键点吧。如果我去学一门语言不是因为它火了而是我用到它了。曾经闲着没事干的时候把 Kotlin 、Vue、React 学了,但是从来没有实践中用到它们,以至于现在几乎快要忘了。所以这是个惨痛的教训:有可能用不到的东西不要去学。有这个时间泡妞打游戏它不香吗? 2. 为什么选择Python &quot;玩蛇&quot;其实我是拒绝的,我要搞个爬虫以及数据清洗,包括机器学习的一些东西。而这些方面 Python 具有先天性优势,所以 Python 成了不二的选择。
  • 11.08 20:19:53
    发表了文章 2021-11-08 20:19:53

    为什么要前后端分离?有什么优缺点?

    一、前戏 前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。 核心思想是前端html页面通过ajax调用后端的restuful api接口并使用json数据进行交互。 在互联网架构中,名词解释: Web服务器:一般指像nginx,apache这类的服务器,他们一般只能解析静态资源。 应用服务器:一般指像tomcat,
  • 11.08 20:19:20
    发表了文章 2021-11-08 20:19:20

    Java筑基之Java编程基础

    我们是学习软件开发的,必然离不开计算机,所以在进行学习之前,首先要了解一些必要的计算机基础知识. 一. 计算机基础 1. 计算机 电子计算机,也就是我们俗称的电脑,是一种能够按照程序自动运行,自动、高速处理海量数据的现代化智能电子设备,它由硬件和软件所组成,而一台没有安装任何软件的计算机被称为裸机. 2. 硬件 在一台计算机中,有如下几个核心硬件. ①.CPU: 是一台计算机的运算核心和控制核心,其功能主要是解释计算机指令以及处理计算机软件中的数据. CPU由运算器、控制器、寄存器、高速缓存及实现它们之间联系的数据、控制及状态的总线构成. 作为整个系统的核心, CPU 也是整个系统最高
  • 11.08 20:18:45
    发表了文章 2021-11-08 20:18:45

    C语言如何交换两变量值?5大方法告诉你!

    写在前面: C语言中交换两个变量值的操作经常会用到,也有不少人提问诸如不用临时变量怎么交换两个变量值的问题,今天在这里做一个总结,也算是对这个问题的统一回复,一共总结了5种方法(名字都是我自己取的,不当之处还请批评指正),希望大家看完有所收获。 1.临时变量法 方法解释:采用临时变量的方法,作为中间过渡,这是最简单也是大家最容易想到的方法,此法在各种场合应用极多,应该熟练掌握。
  • 11.08 20:18:08
    发表了文章 2021-11-08 20:18:08

    面试官问我 volatile 是否存在伪共享问题?我懵逼了

    在探讨 LongAdder 是如何解决伪共享问题之前,我们要先梳理清一个概念,什么是 伪共享 和 共享 ? 共享在 Java 编程里面我们可以这样理解,有一个 Share 类,它有一个 value 的属性。如下: public class Share { int value; }复制代码 我们初始化 Share 的一个实例,然后启动多个线程去操作它的 value 属性,此时的 Share 变量被多个线程操作的这种情况我们称之为 共享。 大家都知道在不添加任何互斥措施的情况,多线程操作这个 Share 变量的 value 属性肯定存在线程安全性的问题。那有什么办法可以解决这个问题呢?
  • 11.08 20:14:51
    发表了文章 2021-11-08 20:14:51

    一步一步教你使用Spring框架中的事件订阅发布

    1. 前言 Java 开发中有些逻辑是这样的,完成了A操作,再继续B操作,在继续C操作。这么描述好像有点不清楚。打个比方把,你吃晚饭,通知你老婆(女友)来收碗筷,然后通知你的线上兄弟告诉他们你回来了准备开黑。至于你老婆(女友)来不来收拾无所谓,反正你告诉她了。至于你兄弟你也是通知他们,人家也不一定组你,万一他们正在跟一个一拖三的carry大佬玩的正起劲儿呢。 2. 事件的概念 吃晚饭就是一个所谓的事件。触发了随后的两个操作,他们只存在因果关系。但是它们互不干扰,各自为政。一个完整的事件由 事件源、事件发布、事件监听 组成。 接下来我们聊聊 Spring 中的事件。 3. Spring 中的
  • 11.08 20:14:20
    发表了文章 2021-11-08 20:14:20

    Spring 注解 @Qualifier 详细解析

    1. 概述 今天带你了解一下 Spring 框架中的 @Qualifier 注解,它解决了哪些问题,以及如何使用它。我们还将了解它与 @Primary 注解的不同之处。更多的技术解析请访问 felord.cn 2. 痛点 使用 @Autowired 注解是 Spring 依赖注入的绝好方法。但是有些场景下仅仅靠这个注解不足以让Spring知道到底要注入哪个 bean。 默认情况下,@Autowired 按类型装配 Spring Bean。 如果容器中有多个相同类型的 bean,则框架将抛出 NoUniqueBeanDefinitionException, 以提示有多个满足条件的 bean 进
  • 11.08 20:13:28
    发表了文章 2021-11-08 20:13:28

    开启 Django 博客的 RSS 功能

    文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 博客提供 RSS 订阅应该是标配,这样读者就可以通过一些聚合阅读工具订阅你的博客,时时查看是否有文章更新,而不必每次都跳转到博客上来查看。现在我们就来为博客添加 RSS 订阅功能。 RSS 简介 RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,它采用 XML 作为内容传递的格式。简单来说就是网站可以把内容包装成符合 RSS 标准的 XML 格式文档。一旦网站内容符合一个统一的规范,那么人们就可以开发一种读取这种规范化的 XML 文档的工具来聚合各大网站的内容。例如一个读者
  • 11.08 20:12:58
    发表了文章 2021-11-08 20:12:58

    Java 8 Stream 的终极技巧——Collectors 操作

    1. 前言 昨天在 Collection移除元素操作 相关的文章中提到了 Collectors 。相信很多同学对这个比较感兴趣,那我们今天就来研究一下 Collectors 。 2. Collectors 的作用 Collectors 是 Java 8 加入的操作类,位于 java.util.stream 包下。它会根据不同的策略将元素收集归纳起来,比如最简单常用的是将元素装入Map、Set、List 等可变容器中。特别对于 Java 8 Stream Api 来说非常有用。它提供了collect() 方法来对 Stream 流进行终结操作派生出基于各种策略的结果集。我们就借助于 Strea
  • 11.07 23:16:45
    发表了文章 2021-11-07 23:16:45

    【INDEX】重建索引的两条参考依据

    如果是OLTP系统,存在正大量的删除和更新操作的系统中,日积月累,索引将会千疮百孔,使用索引用来检索数据的效率会急转直下。因此要求我们定期的对索引进行维护,我们可以使用DROP/CREATE方式或REBUILD方式完成索引的重建,恢复索引应该有的效率。 问题来了,什么时候需要重建?重建索引的依据是什么呢? 有两个依据可供参考。第一个是,查看索引的“高度”,如果索引树高超过了4我们就需要重点关注;另外一个参考依据是,索引条目被删除的数据占总索引条目的百分比如果超过了20%,一般在这种情况下就要考虑重建索引。 如果获得这两个参考依据?方法其实很简单,我们仅需对索引进行一下分析,然后通过IND
  • 11.07 23:15:35
    发表了文章 2021-11-07 23:15:35

    【Flashback】使用视图快速获得Flashback Query闪回查询数据

    本文给出使用视图协助我们快速构造闪回查询内容,通过视图可以方便的检索“历史上的数据”。 1.构造闪回查询视图需求描述 1)准备员工表和工资表 2)删除工资表中雇佣年限在1994年之前的记录 3)创建视图可以查询工资表删除之前的记录 2.准备环境 1)准备员工表和工资表 sec@ora10g> create table emp (id number,name varchar2(20), e_date date); Table created. sec@ora10g> create table salary (id number, salary number); Table create
  • 11.07 23:14:53
    发表了文章 2021-11-07 23:14:53

    【脚本】快速获得当前用户下“暂忘”的数据库对象信息

    对SQL*Plus情有独钟的朋友一定遇到过这样的问题:突然忘记了表的全名(或者其他数据库对象名),仅依稀记得它包含几个字母,怎么可以最快速知道具体的名字呢? 最快速的回答:使用数据字典视图可以达到提示自己的目的。 例如使用如下的SQL语句遍可获得当前用户下所有包含“TMP”关键字的数据库对象信息。 select * from obj where object_name like '%TMP%'; 完全正确,但是没有达到我们“快速”的目的。我这里给出一个非常简单的脚本(以obj为基础进行了简单的格式化),以便达到快速获得提示信息的目的。 1.脚本内容如下,有兴趣的朋友可以在这个基础上进一步
  • 11.07 23:13:56
    发表了文章 2021-11-07 23:13:56

    【VNC】Linux环境VNC服务安装、配置与使用

    前言:作为一名DBA,在创建Oracle数据库的过程中一般要使用dbca和netca图像化进行建库和创建监听(如果使用脚本建库另说),如果您身体好估计可以在瑟瑟发抖的机房中完成数据库的创建过程,由于本人对寒冷比较敏感,又不想通过这样的方式锻炼身体,所以更愿意在舒适的房间内一边品味着咖啡的浓香,顺便度过相对枯燥的数据库安装和配置的过程,So,图形化操作工具是必不可少的,在Linux操作系统最流行的图形化操作软件莫过于VNC,俺本着总结、共享及提醒的目的完成了这个详细的小文儿,希望大家喜欢。 1.确认VNC是否安装 默认情况下,Red Hat Enterprise Linux安装程序会将VNC
  • 11.07 23:12:56
    发表了文章 2021-11-07 23:12:56

    【去重】当SYS和SYSTEM用户出现重复数据库对象时的应对措施

    当SYS和SYSTEM用户中出现重复数据库对象的时候会对数据库的使用带来很多的问题。系统一旦使用到这些重复对象的时候将会报错。 什么情况下会出现这种重复现象呢? 一般情况下SYS和SYSTEM用户下的数据库对象都是在数据库安装的过程中完成的。不过个别情况下为了部署新特性需要手工执行创建脚本。一般规律是这样的:但凡涉及到手工操作的部分,就潜在出错因素,一旦可能出错,便一定会出错。这便是“墨菲定律”。 本文给出这类故障的模拟和处理方法。 1.确认系统SYS和SYSTEM用户中是否存在重复数据库对象 sys@ora10g> show user USER is "SYS" sys@
  • 11.07 23:11:36
    发表了文章 2021-11-07 23:11:36

    【Freelist】关于Freelists和Freelist Groups的探究

    1.有关Freelist的描述 数据库读取的单位是数据块(block),一个block是否允许写入数据是基于一定的空闲度--PCTFREE和PCTUSED存储参数设置。 Freelists就是一个指定了所有可以用于insert操作的数据块的列表。 存在于这个列表中的数据块才能用于insert操作,一旦一个数据块无法用于insert(达到了PCTFREE参数指定的限度)则立刻从这个列表中摘除。 Freelists的作用就在于管理高水位标志(HWM)以下的空闲空间,实际上一个segment可用的空闲空间包括两种类型: 1)已经分配给这个segment但是从来未被使用过的位于高水位标志之上的bloc
  • 11.07 23:10:25
    发表了文章 2021-11-07 23:10:25

    10个常见的Redis面试"刁难"问题

    高可用架构 导读:在程序员面试过程中Redis相关的知识是常被问到的话题。作为一名在互联网技术行业打击过成百上千名的资深技术面试官,本文作者总结了面试过程中经常问到的问题。十分值得一读。 作者简介:钱文品(老钱),互联网分布式高并发技术十年老兵,目前任掌阅科技资深后端工程师。熟练使用 Java、Python、Golang 等多种计算机语言,开发过游戏,制作过网站,写过消息推送系统和MySQL 中间件,实现过开源的 ORM 框架、Web 框架、RPC 框架等 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行各种刁难。作为一名
  • 11.07 23:09:54
    发表了文章 2021-11-07 23:09:54

    一份平民化的应用性能优化检查列表(完整篇)

    1.总原则 一些正确但稍显废话的原则,但能指导后面每个章节的优化,所以还是要啰嗦一次。 可扩展性架构,堆机器能不能解决问题是最最优先考虑的问题 去中心化的点对点通信,优于通过中心代理的通信 池化的长连接,优于短连接 二进制数据,优于文本数据 尽量减少交互,一次调用的粗粒度聚合接口 优于 多次调用的细粒度接口 尽量减少交互,批量接口优于循环调用 尽量只交互必要的数据 尽量就近访问 尽量使用缓存 总是设定超时 在合适的场景,并行化执行 在合适的场景,异步化执行 2.环境准备 保证符合自家各种规范(没有的话赶紧回家写一个),尤其线下压测服务器的配置要与生产环境一致。 2.1 操作系统 自家
  • 11.07 23:09:00
    发表了文章 2021-11-07 23:09:00

    【expdp】10g数据泵expdp工具选项详解及应用示例

    理解expdp各个选项的含义最好的途径就是逐一的进行测试,这样可以在感性上有一个真实的体验。 1.数据泵expdp导出工具与传统的exp导出工具的区别 1)exp是客户端程序,既可以在客户端使用,也可以在服务器端使用; 2)expdp是服务器端工具,只能在ORACLE服务器端使用,不能在客户端使用; 3)这两个工具生成的备份文件不能被对方与之对应的导入工具使用; 4)expdp在灵活性和功能性上与exp相比,有质上的飞跃。 2.expdp命令行选项列表 使用“-help”选项获得expdp命令可用的选项列表和简单的注释信息。 ora10g@linux5 /expdp$ expdp help
  • 11.07 23:00:47
    发表了文章 2021-11-07 23:00:47

    spring cloud分布式微服务-Spring Boot基础构建

    本章主要目标完成Spring Boot基础项目的构建,并且实现一个简单的Http请求处理,通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单、开发快速的特性。 系统要求: Java 7及以上 Spring Framework 4.1.5及以上 本文采用Java 1.8.0_73、Spring Boot 1.3.2调试通过。 使用Maven构建项目 通过SPRING INITIALIZR工具产生基础项目 访问:http://start.spring.io/ 选择构建工具Maven Project、Spring Boot版本1.3.2以及一些工程基本信息,可参考下图所示SP
  • 11.07 22:59:06
    发表了文章 2021-11-07 22:59:06

    你真的会将类数组转化为数组吗

    首先,什么是类数组(Array Like)? 一个简单的定义,如果一个对象有 length 属性值,则它就是类数组 那常见的类数组有哪些呢? 这在 DOM 中甚为常见,如各种元素检索 API 返回的都是类数组,如 document.getElementsByTagName,document.querySelectorAll 等等。除了 DOM API 中,常见的 function 中的 arguments 也是类数组 那如何把类数组转化为数组呢?这是类数组操作时一个典型的场景,也是一个典型的面试题 以下我们将以 { length: 3 } 来指代类数组,来作为演示 节选自 日文 【
  • 11.07 22:56:48
    发表了文章 2021-11-07 22:56:48

    基于jdbc实现一个Demo版的Mybatis

    一、前言介绍 在前面一篇分析了 mybatis 源码,从它为什么之后接口但是没有实现类就能执行数据库操作为入口,整个源码核心流程完全解释了一遍。对于一个3年以上的程序员来说,新知识的学习过程应该是从最开始 helloworld 到熟练使用 api 完成业务功能。下一步为了深入了解就需要阅读部分核心源码,从而在出问题后可以快速定位,迅速排查。从而减少线上事故的持续时长,提升个人影响力。但!这不是学习终点,因为无论是任何一个框架的源码,如果只是看那么就很难学习到它的实用技术。纸上得来终觉浅,唯有实战和操练。 那么,本章节我们去简单实现一个基于jdbc的demo版本Mybatis,从而更加清楚这样
  • 发表了文章 2024-11-15

    在Linux中,有一个文件,如何删除包含“www“字样的字符?

  • 发表了文章 2024-11-09

    SpringBoot 内部方法调用,事务不起作用的原因及解决办法

  • 发表了文章 2024-11-05

    向百度提交网站地图Sitemap

  • 发表了文章 2024-11-03

    SpringBoot_web开发-webjars&静态资源映射规则

  • 发表了文章 2024-11-03

    JavaScript获取url网址中域名后面的部分

  • 发表了文章 2024-11-01

    浏览器输入域名网址访问后的过程详解

  • 发表了文章 2024-11-01

    域名前缀和后缀html,为什么域名前要加www前缀,www是什么意思?

  • 发表了文章 2024-10-31

    python爬虫抓取91处理网

  • 发表了文章 2022-08-15

    一篇文章带你了解JVM常见面试题有哪些

  • 发表了文章 2022-08-15

    CSS浮动讲解

  • 发表了文章 2022-08-15

    知识总结:CSS定位

  • 发表了文章 2022-08-15

    技巧篇:CSS高级技巧详解

  • 发表了文章 2022-08-15

    关于List集合,这份总结很全面

  • 发表了文章 2022-08-15

    这篇文章教你轻松过dubbo+zk面试

  • 发表了文章 2022-08-15

    前端:Vue3为何使用Proxy实现数据监听

  • 发表了文章 2022-08-15

    JavaScript的深拷贝实现

  • 发表了文章 2022-08-15

    最近面试了13家企业软件测试岗位,面试题整理

  • 发表了文章 2022-08-15

    揭秘什么是面向接口编程

  • 发表了文章 2022-08-15

    Spring Cloud Alibaba 新一代微服务解决方案

  • 发表了文章 2022-08-15

    前端:如何在 JavaScript 中获取当前日期

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息