
技术文章
github_master
IT自由职业者
展开
-
十大经典排序算法之-选择排序
选择排序思想选择排序的思想非常简单:首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。这种方法叫做选择排序,因为它在不断地选择剩余元素之中的最小者。——《算法(第四版)》此算法的实现非常简单,通俗地说就是一共遍历n...原创 2019-11-05 17:09:43 · 2607 阅读 · 0 评论 -
数据库优化之 - 提高SQL运行效率优化
本文从SQL角度进行数据库优化,提升SQL运行效率。判断问题SQL判断SQL是否有问题时可以通过两个表象进行判断:系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长 应用的日志出现超时等错误 可以使用sar命令,top命令查看当前系统状态。也可以通过Prometheus、Grafana等监控工具观察系统状态。(感兴趣的可以翻看我之前的文章)SQL语句...转载 2019-11-02 15:30:46 · 2896 阅读 · 0 评论 -
十大经典排序算法之-冒泡排序
前言本系列排序包括十大经典排序算法。使用的语言为:Java 结构为: 定义抽象类Sort里面实现了,交换,大小比较等方法。例如交换两个值,直接传入下标就可以了。其他的具体排序的类都继承抽象类Sort。这样我们就能专注于算法本身。/* * 返回值等于0,代表 array[i1] == array[i2] * 返回值小于0,代表 array[i1] < array[i2]...翻译 2019-11-01 09:21:24 · 1966 阅读 · 0 评论 -
你的 Java 并发程序 Bug,100% 是这几个原因造成的
可见性问题可见性是指一个线程对共享变量进行了修改,其他线程能够立马看到该共享变量更新后的值,这视乎是一个合情合理的要求,但是在多线程的情况下,可能就要让你失望了,由于每个 CPU 都有自己的缓存,每个线程使用的可能是不同的 CPU ,这就会出现数据可见性的问题,先来看看下面这张图:对于一个共享变量 count ,每个 CPU 缓存中都有一个 count 副本,每个线程对共享变量 cou...原创 2019-10-31 18:19:26 · 1439 阅读 · 0 评论 -
京东-头条-百度面试题
清华本硕,硕士方向是自然语言处理,CCF A类论文一篇。目前拿到了京东,腾讯和搜狗的offer,因为腾讯和搜狗基本上没有问什么面试题,就两边聊了聊沟通一下,因此就不介绍面试经历了。1 京东面试经历面试的京东的商品推荐的算法岗,在北辰大厦(奥森旁边),面试难度总体来说比较简单。(1) 到公司之后先做了一个小时的笔试题目,包括四个简答题和两个编程题,简答题主要是C语言相关的。Map和S...原创 2019-10-30 13:46:34 · 1874 阅读 · 0 评论 -
十大经典排序算法之-选择排序
本系列排序包括十大经典排序算法。使用的语言为:Java 结构为: 定义抽象类Sort里面实现了,交换,大小比较等方法。例如交换两个值,直接传入下标就可以了。其他的具体排序的类都继承抽象类Sort。这样我们就能专注于算法本身。/* * 返回值等于0,代表 array[i1] == array[i2] * 返回值小于0,代表 array[i1] < array[i2] * ...转载 2019-10-30 13:36:28 · 1805 阅读 · 0 评论 -
分布式系统的几点笔记
平时接触到的分布式系统有很多种,比如分布式文件系统,分布式数据库,分布式WebService,分布式计算等等,面向的情景不同,但分布式的思路是否是一样的呢?1.简单的例子假设我们有一台服务器,它可以承担1百万/秒的请求,这个请求可以的是通过http访问网页,通过tcp下载文件,jdbc执行sql,RPC调用接口…,现在我们有一条数据的请求是2百万/秒,很显然服务器hold不住了,会各种拒绝...转载 2019-06-14 10:12:57 · 1406 阅读 · 0 评论 -
前端vue面试题(百度前端面试)
1. 谈谈你对MVVM开发模式的理解MVVM分为Model、View、ViewModel三者。Model 代表数据模型,数据和业务逻辑都在Model层中定义;View 代表UI视图,负责数据的展示;ViewModel 负责监听 Model 中数据的改变并且控制视图的更新,处理用户交互操作;Model 和 View 并无直接关联,而是通过 ViewModel 来进行联系的,Model 和 Vie...原创 2019-06-20 15:58:58 · 2845 阅读 · 0 评论 -
MySQL性能优化的最佳20多条经验分享
1. 为查询缓存优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例:...原创 2019-06-17 10:45:06 · 1452 阅读 · 0 评论