自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (11)
  • 论坛 (1)
  • 问答 (3)
  • 收藏
  • 关注

转载 三种 MySQL 大表优化方案

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

2021-03-31 20:51:11 23

转载 为什么阿里不允许用Executors创建线程池,而是通过ThreadPoolExecutor的方式?

1.通过Executors创建线程池的弊端在创建线程池的时候,大部分人还是会选择使用Executors去创建。下面是创建定长线程池(FixedThreadPool)的一个例子,严格来说,当使用如下代码创建线程池时,是不符合编程规范的。ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);原因在于:(摘自阿里编码规约)线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处

2021-03-30 23:11:13 43 1

转载 10w 行级别数据的 Excel 导入优化记录

需求说明项目中有一个 Excel 导入的需求:缴费记录导入由实施 / 用户 将别的系统的数据填入我们系统中的 Excel 模板,应用将文件内容读取、校对、转换之后产生欠费数据、票据、票据详情并存储到数据库中。在我接手之前可能由于之前导入的数据量并不多没有对效率有过高的追求。但是到了 4.0 版本,我预估导入时Excel 行数会是 10w+ 级别,而往数据库插入的数据量是大于 3n 的,也就是说 10w 行的 Excel,则至少向数据库插入 30w 行数据。因此优化原来的导入代码是势在必行的。我逐步分析

2021-03-29 21:27:01 57

转载 为什么魂斗罗只有 128KB 却可以实现那么长的剧情?

个人觉得fc最神奇的游戏还属超级玛丽,32个关卡,每关都不同,各种隐藏要素,好像代码区才10多k,数据区10多k。反汇编看完还是不敢相信这点东西能玩一个童年… 现在helloworld的二进制都可能比这大多了。首先128k并不小,主要消耗存储空间的不是程序。当然对于128k来说程序大小自然也要考虑,鉴于fc是八位机而且FC采用的是CISC处理器,一条指令就能完成很多事情,所以程序的大小也就现代64位RISC处理器的十几到几百分之一。资源才是大户(包括图像、音乐、地图数据、关卡数据等等)。就拿图像和音.

2021-03-26 16:23:20 44

转载 你这代码写得真丑,满屏的try-catch,全局异常处理不会吗?

背景软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {…} catch {…} finally {…} 代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在编写的代码属于哪一种风格?然后哪种编码风格您更喜欢?丑陋的 try catch 代码块优雅的Controller上面的示例,还只是在Controller层,如果是在Service层,可能会有更多的try catch代码块。这将会

2021-03-25 20:32:24 69 1

转载 面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来...

曾经有这么一道经典面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么?相信大多数准备过的同学都能回答出来,但是如果继续问:收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来的呢?要搞懂这个问题,我们需要先解决下面五个问题:1.现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开?2.一个 TCP 连接可以对应几个 HTTP 请求?3.一个 TCP 连接中 HTTP 请求发

2021-03-24 20:11:06 66 2

转载 经验:一个秒杀系统的设计思考

前言秒杀大家都不陌生。自2011年首次出现以来,无论是双十一购物还是 12306 抢票,秒杀场景已随处可见。简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程。从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文讨论的话题。整体思考首先从高维度出发,整体思考问题。秒杀无外乎解决两个核心问题,一是并发读,一是并发写,对应到架构设计,就是高可用、一致性和高性能的要求。关于秒杀系统的设计思考,本文即基于此 3

2021-03-23 16:37:59 58

原创 永远不要在代码中使用「User」这个单词!

当你意识到你在项目开始时做的轻量、简单的设想竟然完全错了时,你已经用了六个月的时间投入到这个项目上。现在你需要解决这些问题,才能让这个系统继续运行下去,你发现你用在这个项目上的精力远远超出了你的预期,如果一开始就用正确的方式来做,就不会发生这样的事。今天,我要告诉你的是一个经常犯的错误,一个会给你带来无穷无尽的问题的单词,那就是“users”。这个单词有两个最基本的错误:对你的需求来说 “User” 几乎从来都不是一个好的描述。“User” 会导致一个基本的设计安全缺陷。“user” 的概念是模

2021-03-22 13:12:40 43

原创 大厂晋升答辩必用技能:如何画好架构图?

当我们想用一张或几张图来描述我们的系统时,是不是经常遇到以下情况:对着画布无从下手、删了又来?用一张图描述我的系统,并且让产品、运营、开发都能看明白?画了一半的图还不清楚受众是谁?画出来的图到底是产品图功能图还是技术图又或是大杂烩?图上的框框有点少是不是要找点儿框框加进来?布局怎么画都不满意……如果有同样的困惑,本文将介绍一种画图的方法论,来让架构图更清晰。先厘清一些基础概念1、什么是架构架构就是对系统中的实体以及实体之间的关系所进行的抽象描述,是一系列的决策。架构是结构和愿景。

2021-03-20 17:26:01 65 1

原创 字节跳动一面:如何从 100 亿 URL 中找出相同的 URL?

题目描述给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同的 URL。解答思路每个 URL 占 64B,那么 50 亿个 URL 占用的空间大小约为 320GB。5, 000, 000, 000 _ 64B ≈ 5GB _ 64 = 320GB由于内存大小只有 4G,因此,我们不可能一次性把所有 URL 加载到内存中处理。对于这种类型的题目,一般采用分治策略 ,即:把一个文件中的 URL 按照某个特征划分为多个小文件,使得

2021-03-19 12:47:26 71

原创 费解!为什么那么多人用“ji32k7au4a83”作密码?

使用“123456”作为密码。而最近知名黑客网站 Have I Been Pwned 上一个密码“ji32k7au4a83”的使用次数引起了热烈讨论。Have I Been Pwned 是一个可以查询用户的邮箱是否被泄漏的网站,它的一个密码查询功能 Pwned Passwords 记录着在数据泄露中暴露的 551 509 767 个真实密码,用户可以在这里查询某个密码被使用的次数。比如查询一下 2018 年最烂密码“123456”,得到 23 174 662 次的结果:“123456”这样简单易记的数

2021-03-18 13:00:42 50

原创 CTO@全体成员,未经允许和评审不让用反射,Java反射到底慢在哪?

反射具体是怎么影响性能的?这引起了我的反思。是啊,在阐述某个观点时确实有必要说明原因,并且证明这个观点是对的,虽然反射影响性能人尽皆知,我曾经也真的研究过反射是否存在性能问题,但并没有在写文章的时候详细说明。这让我想到网上很多信息只会告诉你结论,并不会说明原因,导致很多学到的东西都是死记硬背,而不是真正掌握,别人一问或者自己亲身遇到同样的问题时,傻眼了。反射真的存在性能问题吗?还是使用上篇文章的demo,为了放大问题,找到共性,采用逐渐扩大测试次数、每次测试多次取平均值的方式,针对同一个方法分别就直接调

2021-03-17 13:01:23 23

原创 使用IntelliJ IDEA查看类图,内容极度舒适

最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟。这次利用了IDEA的diagram,结果一目了然,也是好用到炸裂,就此分享。查看图形形式的继承链在你想查看的类的标签页内,点击右键,选择 Diagrams,其中有 show 和 show … Popup,只是前者新建在标签页内,后者以浮窗的形式展示:实际上,你也可以从左边的项目目录树中,对你想查看的类点击右键,同样选择Diagrams,效果是一样的:然后你就会得到

2021-03-16 12:58:37 32

原创 10w 行级别数据的 Excel 导入优化记录

需求说明项目中有一个 Excel 导入的需求:缴费记录导入由实施 / 用户 将别的系统的数据填入我们系统中的 Excel 模板,应用将文件内容读取、校对、转换之后产生欠费数据、票据、票据详情并存储到数据库中。在我接手之前可能由于之前导入的数据量并不多没有对效率有过高的追求。但是到了 4.0 版本,我预估导入时Excel 行数会是 10w+ 级别,而往数据库插入的数据量是大于 3n 的,也就是说 10w 行的 Excel,则至少向数据库插入 30w 行数据。因此优化原来的导入代码是势在必行的。我逐步分析

2021-03-15 13:04:41 56

原创 15年程序员老兵的40条编程技巧,句句都是血泪史!

工作10来年了,总结出一些编程技巧,个人看法,不喜勿喷。有用的点就吸收。无用的点就忽视将大块代码拆分成函数。下班的时候还有问题没解决,请关上电脑,明天再看。YAGNI 原则(你不会需要它):只写别人要求你写的功能。不要预测未来,只需要尽可能快地完成开发。只编码解决当前问题最必要的部分。你不需要什么都懂,也不需要了解所有框架。最棒的事情莫过于打好基础。在开始使用一个框架前先深入了解这门语言,学习基础的事项(如 SOLID 原则),或者如何写出干净的代码。KISS 原则:KISS(

2021-03-14 17:46:30 44

原创 Java中的双冒号::是什么玩意?有这个语法?

简洁方法引用Optional 可选值一:简洁方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式静态方法引用,通过类名::静态方法名, 如 Integer::parseInt实例方法引用,通过实例对象::实例方法,如 str::substring构造方法引用,通过类名::new, 如 User::new二:方法引用public final class Integer { public static int parseInt(St.

2021-03-12 12:31:50 27

原创 总结一波腾讯,阿里,字节跳动问的 Redis 面试题,收藏起来。

最近去面了腾讯,阿里,字节跳动,发现对redis会重点考察,于是我打算总结redis专项。相关的面试题如下:Redis 持久化机制缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题热点数据和冷数据是什么Memcache与Redis的区别都有哪些?单线程的redis为什么这么快redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构redis的过期策略以及内存淘汰机制【~】Redis 为什么是单线程的,优点如何解决redis的并发竞争key问题Redis 集群方案应该怎

2021-03-11 13:03:38 63

原创 SQL 中的 in 与 not in、exists 与 not exists 的区别以及性能分析

1、in和exists2、not in 和not exists3、in 与 = 的区别其他分析:1、in和existsin是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in;例如:表A(小表),表B(大表)select * from A where.

2021-03-10 12:58:01 35

转载 面试官: MySQL 数据库的优化,你知道有哪些?

点击上方“码农突围”,马上关注这里是码农充电第一站,回复“666”,获取一份专属大礼包真爱,请设置“星标”或点个“在看”来源 |sf.gg/a/1190000018631870数据库...

2021-03-10 09:47:00 31

转载 面试管:用了HTTPS就安全了吗?HTTPS 会被抓包吗?

点击上方“码农突围”,马上关注这里是码农充电第一站,回复“666”,获取一份专属大礼包真爱,请设置“星标”或点个“在看”来源:suo.im/61KOg3随着 HTTPS 建站的成本下降...

2021-03-10 09:47:00 29

原创 为什么 HashMap 的加载因子是0.75?我研究源码发现一个重大秘密。。。

有很多东西之前在学的时候没怎么注意,笔者也是在重温HashMap的时候发现有很多可以去细究的问题,最终是会回归于数学的,如HashMap的加载因子为什么是0.75?本文主要对以下内容进行介绍:为什么HashMap需要加载因子?解决冲突有什么方法?为什么加载因子一定是0.75?而不是0.8,0.6?为什么HashMap需要加载因子?HashMap的底层是哈希表,是存储键值对的结构类型,它需要通过一定的计算才可以确定数据在哈希表中的存储位置:static final int hash(Obje

2021-03-09 10:00:09 69

转载 面试官:为什么 HashMap 的加载因子是0.75?

点击上方“码农突围”,马上关注这里是码农充电第一站,回复“666”,获取一份专属大礼包真爱,请设置“星标”或点个“在看”来源:8rr.co/8V9Q有很多东西之前在学的时候没怎么注意,笔...

2021-03-09 09:47:00 45

原创 where 1=1 是什么鬼?SQL中有这玩意?

这段代码应该是由程序(例如Java)中生成的,where条件中 1=1 之后的条件是通过 if 块动态变化的。例如:String sql="select * from table_name where 1=1"; if( conditon 1) { sql=sql+" and var2=value2"; } if(conditon 2) { sql=sql+" and var3=value3"; } where 1=1 是为了

2021-03-08 12:46:08 47 1

转载 跳槽到新公司,我直接让项目的性能提升了一半。。。

阿里云 Redis 从 2015 年商用以来,一直是全球领先的云KV内存数据库产品,自从正式推出云数据库Redis 6.0版本,包含多项重大功能更新和大幅度的性能提升。相比于社区最初多线程...

2021-03-08 09:47:00 67

转载 955 互联网公司白名单来了!

点击上方“码农突围”,马上关注这里是码农充电第一站,回复“666”,获取一份专属大礼包真爱,请设置“星标”或点个“在看”955,每天 9 点上班,下午 5 点下班,一周工作 5 天。相...

2021-03-08 09:47:00 87

原创 老板下死命令:必须将20M文件从30秒压缩到1秒,我是如何做到的?

压缩20M文件从30秒到1秒的优化过程有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用,但是随着前端所传图片的大小越来越大的时候,耗费的时间也在急剧增加,最后测了一下压缩20M的文件竟然需要30秒的时间。压缩文件的代码如下。这里找了一张2M大小的图片,并且循环十次进行测试。打印的结果如下,时间大概是30秒。第一次优化过程-从30秒到2秒进行优化首先想到的是利

2021-03-07 17:08:17 87

转载 记一次由Redis分布式锁造成的重大事故,避免以后踩坑!

点击上方“码农突围”,马上关注这里是码农充电第一站,回复“666”,获取一份专属大礼包真爱,请设置“星标”或点个“在看”作者 |浪漫先生来源 |juejin.im/post/5f1...

2021-03-07 09:47:00 34

转载 三月,必须跳槽!

前段时间网络盛传一句话“我这辈子没为谁拼过命,更不会为谁拼多多。”作为一名程序员,这辈子不仅不会为谁拼多多,更不会为谁双 11 盖楼!双十一是购物狂欢节,但程序员的运维压力却堪比春运某程序...

2021-03-05 14:22:13 63

转载 如何画好架构图

点击上方“码农突围”,马上关注这里是码农充电第一站,回复“666”,获取一份专属大礼包真爱,请设置“星标”或点个“在看”作者 |三画来源 |阿里巴巴中间件技术传播的价值,不仅仅体...

2021-03-05 14:22:13 50

原创 这一顿神操作!我把 3000 行代码重构成 15 行!

如果你认为这是一个标题党,那么我真诚的恳请你耐心的把文章的第一部分读完,然后再下结论。如果你认为能够戳中您的G点,那么请随手点个赞。把三千行代码重构为15行那年我刚毕业,进了现在这个公司。公司是搞数据中心环境监控的,里面充斥着嵌入式、精密空调、总线、RFID的概念,我一个都不懂。还好,公司之前用Delphi写的老客户端因为太慢,然后就搞了个Webform的替代,恰好我对Asp.Net还算了解,我对业务的不了解并不妨碍我称成为这个公司的一个程序员。小公司也有小公司的好,人少,进去很快负责代码开发。我当然

2021-03-04 18:19:30 58 1

原创 因在Java中不会优雅地判空,被CTO屌的快哭了。。。

判空灾难作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢NullPointerException。不过NullPointerException对于很多猿们来说,也是Exception家族中最亲近的一员了。为了避免NullPointerException来找我们,我们经常会进行如下操作。if (data != null) { do sth.}如果一个类中多次使用某个对象,那你可能要一顿操作,so:“世界第九大奇迹”就这样诞生了。Maybe你会想,

2021-03-03 16:07:57 72 1

原创 试用期没过,因在公司上了 1024 网站...

最近浏览到一个知乎问题:某运营同学在试用期期间因为在工作期间上了某 1024 网站,导致试用期不过。前两天还看到不少推文,大意是:看小电影前一定要注意网址是不是 HTTPS 的,因为 HTTPS 是加密的,别人就不知道了。看到上面几个问题,我不禁想问(这脑回路也是……):通过浏览器访问 HTTPS 站点,其他人真的没法知道吗?通过 App 访问匿名论坛(HTTPS),公司怎么知道的?(他是不是接入了公司 WiFi?)总之就是,上班时间上网摸鱼吗?哪怕用 HTTPS 访问,如果公司知道

2021-03-02 21:17:50 210 1

原创 GitHub刷屏!阿里程序员成功考上公务员指南火了!

Hello,大家好,我是GG哥!最近有不少朋友觉得互联网996,干不长久,35岁还会面临淘汰,于是问程序员上岸去银行,事业单位,公务员岗位如何?今天GG哥推荐的这个项目是「coder2gwy」,三个来自同一家大厂的程序员组团在职备考一年,成功上岸后为想进体制内的程序员写了这份考公务员/事业编制/教师的指南。目前已经开源在GitHub,刷爆了12.6k+star,可以想象有多少程序员恨透了996,打算上岸公务员。指南本指南的目标人群是想要想进体制内的程序员,尤其适合那些经过深思熟虑之后,发现程序员这

2021-03-01 14:08:44 168

一个用MediaPlayer播放网络视频案例

一个用MediaPlayer播放网络视频案例

2016-08-31

mpandroidchartlibrary-2-1-6.jar

android mpchart jar包,最牛逼的图表化框架

2016-06-28

android api中文版

最新android中文版API,对于android程序员有福音了。大家决的好,多发表评论哈。

2014-05-09

传智播客黎活明老师EJB源码

传智播客黎活明老师EJB源码,很全还代pdf文档

2014-04-18

15年毕业设计-图书管理系统源码

本系统中包含如下功能模块:系统设置,读者管理,图书管理,图书借还,续借预约,系统查询和更改口令。 有web端和android端,采用mysql数据库。内附有数据库表。是呕心之作。

2016-03-12

张泽华android源代码

张泽华android基础教程源代码 找了好久 分享给大家

2014-03-16

黑马入学Java知识—精华总结(上)

黑马程序员Java知识精华总结,总结相当全面。希望对大家有用

2014-04-18

黑马入学Java知识—精华总结(下)

对于去面试的同学,这个总结相当有用,里面附有详细的代码和注解

2014-04-28

算法导论.pdf

这本黑书涵盖了大多数算法,是不可多得的好书

2013-07-29

HEAD_FIRST设计模式(中文版)

HEAD_FIRST设计模式(中文版),买书送的,绝对无缺页。非常齐全。难得的一本,我见过写的最好的设计模式的书。。有须要的朋友,可以下载。。

2014-07-17

毕向东java代码

毕向东java代码,适合java基础的童鞋,很多案例

2014-03-18

码农突围的留言板

发表于 2020-01-02 最后回复 2020-03-16

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除