- 博客(32)
- 收藏
- 关注
原创 迎小年送豪礼,领取你的大礼包(现金+礼品),仅限11天!!
距离小年仅剩11天了还在外奔波忙碌的你是否已经买好回程的车票是否已经闻到了家中团圆饭的香味 但不管是哪天,“小年”可都不小这天以后人们开始进入准备过年的阶段二十三糖瓜儿粘;二十四扫房子二十五磨豆腐;二十六炖大肉二十七宰公鸡;二十八把面发二十九蒸馒头;三十晚上熬一宿大年初一扭一扭 传统节日小年并非专指一个...
2019-01-18 14:18:13 261
原创 人工智能凉凉了?中国 AI 人才缺口高达 12113 万个!
2018年即将过去,这一年中人们对于AI的发展前景众说纷纭。虽然有人认为AI的寒冬已然来临,人们对AI的热情已经消退,进入了观望状态,但另一方面我们看到招聘市场对众多AI岗位的需求依然炙手可热,有人认为AI的发展前景不可限量,全民皆应该学习AI。近日,UIPath网站正式发布了《AI Jobs》的分析报告,该报告通过Indeed求职网站的职位搜索引擎收集了相关数据,并通过 “Artificial ...
2018-12-17 13:48:04 333
原创 收藏,Python 开发中有哪些高级技巧?
Python 开发中有哪些高级技巧?这是知乎上一个问题,我总结了一些常见的技巧在这里,可能谈不上多高级,但掌握这些至少可以让你的代码看起来 Pythonic 一点。如果你还在按照类C语言的那套风格来写的话,在 code review 恐怕会要被吐槽了。 本文阅读时间5分钟,收藏先 列表推导式>>> chars = [ c for c in 'python...
2018-12-14 14:42:37 206
原创 月薪3w的程序员养成计划
也许我们都不是天才的程序员,但至少我们都可以成为一个理想的程序员。近几年总在互联网圈厮混,我认识过一些程序员,共事过一些程序员,领导过一些程序员,又面试过一些程序员。他们学历不同,有的来自北大,有的是博士,有的是高中毕业;资历也不同,有的来自 BAT,有的来自某破产基金公司(还是一个销售);年限也从 0 到 15 年不等。但我认为程序员只需分三类:天才的程序员、理想的程序员、普通的程序员。...
2018-12-12 17:34:05 323
原创 12月编程语言排行榜:Python 夺回前三,Java依旧第一
TIOBE 编程排行榜是根据全球工程师、课程和第三方数量(如各类搜索引擎)为指数来得出在当月,哪个编程语言是最热门的、最受程序员欢迎的,尽管它不代表语言本身的好坏,但从一定程度上能够帮助开发者们了解到编程语言的趋势。对于想要进入IT行业的小伙伴来说,编程语言的趋势可以作为我们去选择学习技术方向的一个维度。我们迎来了 2018 年最后的一个月,看着一年编程语言的起起伏伏。 昨日 ...
2018-12-07 15:06:26 182
原创 企业必备技能Tomcat
小牛学堂Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP.. 现在我们把他分成两部分来...
2018-12-06 11:59:27 202
原创 用Python分析《斗破苍穹》
近期根据小说《斗破苍穹》改编的同名电视剧正在热映,本文对《斗破苍穹》进行文本分析,分为两部分,首先爬取豆瓣影评进行简单分析,随后对于原创小说文本中的人物进行详细分析。 1.影评分析 爬取影评直接使用之前蚁人的代码,不再说明,共爬到影评数据500条。简单统计来看,一星差评最多,但四五星评价与一二星差评价基本持平。 不过从投票数来看,投票数最多的前25条,...
2018-12-05 17:57:27 400
原创 实现线程的方式,源码分析:Runnable, Thread, Callable, Future, FutureTask
前言在 Java 中,实现线程的方式主要有以下几种方式:继承 Thread, 实现 Runnable 和实现 Callable 这三种方式;采用哪种方式,主要根据实际情况而定,比如:因为 Java 是单继承,所以如果定义的线程还有其他父类的话,就可以使用实现 Runnable 的方式,如果定义的线程就只有 Thread 一个父类,就可以从用继承 Thread 的方式来声明线程;如果线程执行后需...
2018-11-01 14:09:32 250
转载 如何在Windows平台用Java代码模仿破解WIFI密码
开始进入正题。在网上找了很多wifi破解工具,都是linux平台下用的,然后还不支持虚拟机装linux。因为很多笔记本装虚拟机都识别不了内置网卡。所以得把系统刻到U盘,然后用U盘启动。但是我现在穷得连一条内裤都没有了,哪来的U盘啊。于是就决定自己写,而且还得用Java写,写了我还得在windows上运行。一、准备工作首先你得需要一台能连wifi的电脑,然后你的电脑得支持Java环境,...
2018-10-31 11:26:26 8740 2
原创 似懂非懂 Comparable和 Comparator
在java中提供了两种排序方式:Comparable和 Comparator,它们两个看起来非常的相似,在不是很了解的情况下不知道如何使用,什么情况下使用哪个进行排序,接下来就看下它们的一个区别和使用方式:Comparable首先看下 Comparable,Comparable 它可以看成是一个排序接口,一个类实现了该接口,就表示该类本身具有排序的功能,如果对该类的集合或者数组进行排序,则...
2018-10-31 10:44:13 204
原创 HashMap源码分析-jdk1.6和jdk1.8的区别
在java集合中,HashMap是用来存放一组键值对的数,也就是key-value形式的数据,而在jdk1.6和jdk1.8的实现有所不同。JDK1.6的源码实现:首先来看一下HashMap的类的定义:HashMap继承了AbstractHashMap,实现了Map,Cloneable和Serializable接口,Map定义了一些公共的接口,而AbstractHashMap也实现...
2018-10-31 10:27:33 3113 1
原创 HashSet 源码分析
前言在工作中,经常有这样的需求,需要判断某个ID是否在某个组的管理之下等,就需要查询该组下的ID放到一个集合中,且集合中元素不能有重复,之后判断该集合是否包含我们的目标ID;这时,我们可以使用 HashSet 来存放我们的ID,HashSet可以自动的帮助我们去重,比如HashSet<String> set = new HashSet<>(list) 等。接下来看下 H...
2018-10-31 09:55:13 160
原创 Spring整合Hessian与分析
前言上一篇文章Hessian入门体验与分析介绍了hessian的简单入门,并且从源码层面对Hessian的调用流程进行了分析;发现使用原生的Hessian还是比较繁琐的,下面看看Spring与Hessian进行整合并且进行简要分析。使用提供三个模拟块,分别模拟client,server以及被依赖的jar;对应的模块名称分别是:hessianClient,hessianServer以及h...
2018-10-26 11:52:14 711
原创 Hessian体验与分析
简介Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能;相比WebService,Hessian更简单、快捷。官网地址:http://hessian.caucho.com/index.xtp下面主要针对Hessian入门级使用,以及进行部门源码分析。简单使用提供三个模拟块,分别模拟client,server以及被依赖的jar;对应的...
2018-10-26 11:36:41 344
原创 Redis实现参数的集中式管理
前言分布式缓存Redis也提供了类似的发布订阅功能,并且Redis本身提供了缓存和持久化的功能,本文将介绍通过Redis实现简单的参数集中式管理。Maven引入Spring相关的jar引入目标1.可以同时配置监听多个节点如/app1,/app2;2.希望只需要配置如/app1,就能够监听其子节点如/app1/modual1以及子节点的子节点如/app1/modual1/...
2018-10-24 15:34:10 345
原创 JMS实现参数的集中式管理
前言JMS的发布订阅机制也能实现类似的功能,集群节点通过订阅指定的节点,同时使用jms对消息的过滤器功能,实现对指定参数的更新,本文将介绍通过JMS实现简单的参数集中式管理。Maven引入Spring相关的jar引入目标1.可以同时配置监听多个节点如/app1,/app2;2.希望只需要配置如/app1,就能够监听其子节点如/app1/modual1以及子节点的子节点如...
2018-10-24 10:51:40 271
原创 Zookeeper实现参数的集中式管理
前言应用项目中都会有一些参数,一般的做法通常可以选择将其存储在本地配置文件或者内存变量中;对于集群机器规模不大、配置变更不是特别频繁的情况下,这两种方式都能很好的解决;但是一旦集群机器规模变大,且配置信息越来越频繁,依靠这两种方式就越来越困难;我们希望能够快速的做到全局参数的变更,因此需要一种参数的集中式管理,下面利用Zookeeper的一些特性来实现简单的参数管理。准备Maven...
2018-10-24 10:22:37 134
原创 Demo之Mycat读写分离
前言数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能;对于MySQL来说,标准的读写分离是主从模式,一个写节点Master后面跟着多个读节点,其中包含两个步骤,其一是数据源的主从同步,其二是sql的读写分发;而Mycat不负责任何数据的同步,具体的数据同步还是依赖Mysql数据库自身的功能。Mysql主从复制准备两台主机,安装相同版本的Mysql数据库...
2018-10-22 17:09:35 146
原创 Demo入门Mycat
前言Mycat是一个开源的分布式数据库系统,是一个实现了MySQL协议的的Server,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生(Native)协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里;下面...
2018-10-22 16:40:59 206
原创 Mysql批量插入分析
前言最近发现几个项目中都有批次插入数据库的功能,每个项目中批次插入的写法有一些差别,所以本文打算对Mysql的批次插入做一个详细的分析。准备1.jdk1.7,mysql5.6.382.准备库和表测试与分析下面准备几种插入的方式来分析优劣:1.Statement插入方式准备数据,然后通过Statement方式插入数据,插入10000条数据大概在6秒多左右,同时...
2018-10-22 15:16:16 244
原创 Quartz调度源码分析
前言本文将具体分析Quartz是如何调度的,是如何通过数据库的方式来现在分布式调度。调度线程Quartz内部提供的调度类是QuartzScheduler,而QuartzScheduler会委托QuartzSchedulerThread去实时调度;当调度完需要去执行job的时候QuartzSchedulerThread并没有直接去执行job,而是交给ThreadPool去执行job,...
2018-10-19 15:07:29 342
原创 Quartz数据库表分析
前言Quartz默认提供了11张表,本文将对这几张表做简要的分析。表信息共11张表,前6张都是关于各种triggers的信息,后面包括job,悲观锁,调度状态等信息;相关表操作在类StdJDBCDelegate中,相关sql语句在StdJDBCConstants中;1.qrtz_blob_triggers自定义的triggers使用blog类型进行存储,非自定义的trigg...
2018-10-19 13:26:14 6151 1
原创 Spring整合Quartz分布式调度
前言为了保证应用的高可用和高并发性,一般都会部署多个节点;对于定时任务,如果每个节点都执行自己的定时任务,一方面耗费了系统资源,另一方面有些任务多次执行,可能引发应用逻辑问题,所以需要一个分布式的调度系统,来协调每个节点执行定时任务。Spring整合QuartzQuartz是一个成熟的任务调度系统,Spring对Quartz做了兼容,方便开发,下面看看具体如何整合:1.Maven依...
2018-10-19 13:06:56 118
原创 Mysql锁机制分析
前言数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问访问变得有序所设计的一种规则;对于任何一种数据库来说都需要有相应的锁定机制,Mysql也不例外。Mysql几种锁定机制类型MySQL 各存储引擎使用了三种类型(级别)的锁定机制:行级锁定,页级锁定和表级锁定。1.行级锁定锁定对象的颗粒度很小,只对当前行进行锁定,所以发生锁定资源争用的概率也最小,...
2018-10-19 12:00:11 114
原创 Kafka快速开始
入门1.简介Kafka is a distributed streaming platform,kafka是一个分布式流式平台,具有三个关键功能:1.它允许您发布和订阅记录流。在这方面,它类似于消息队列或企业消息系统;2.它允许您以容错方式存储记录流;3.它允许您在记录发生时处理记录。了解几个概念:1.Kafka作为一个群集在一个或多个服务器上运行;2.Kafk...
2018-10-16 11:42:51 152
原创 Spring-Cloud-Config消息总线和高可用
前言上文中简单的介绍了Spring-Cloud-Config如何使用,如何手动更新配置文件,并且在文末提出了几个疑问,其中包括多个Client节点如何更新,Server端如何保证高可用性等;本文将重点介绍通过使用Spring Cloud Bus来批量更新客户端,以及Server如何保证高可用;Spring Cloud Bus消息总线Spring Cloud Bus使用轻量级消息代理链接...
2018-10-16 10:39:40 132
原创 Spring-Cloud-Config快速开始
Spring-Cloud-Config简介Spring-Cloud-Config是Sping-Cloud下用于分布式配置管理的组件,分成了两个角色Config-Server和Config-Client;Config-Server端集中式存储/管理配置文件,并对外提供接口方便Config-Client访问,接口使用HTTP的方式对外提供访问;Config-Client通过接口获取配置文件,然后可...
2018-10-16 10:05:38 1069
原创 JMS消息确认和事务
保证消息传送保证消息传送有3个主要部分:消息自主性,存储并转发以及底层消息确认,下面具体看一下这些概念;1.消息自主性消息是自包含的自主性实体,在设计分布式消息应用程序时,要将此作为头条法则;当JMS客户端发送一条消息时,它就完成了它的所有工作,一旦该数据被传送出去,它就被认为是”安全的”,而且不在受该客户端的控制,类似JDBC客户端和数据库直接的约定;2.保存并转发消息传送...
2018-10-16 09:25:33 478
原创 Java教程 0元学 据说97%的人看过之后,月薪超过20000
关注 小牛学堂 微信公众号可想而知,再过几个月就要过年了,回家免不了被亲戚问到:在哪里工作?现在薪资多少呀?哪里工作其实不重要,重要的是:薪资是多少?来,跟小编看看BAT大数据技术岗位薪资统计:阿里巴巴:百度:腾讯:(对于大数据岗位随着职能等级的变化,薪资非常可观)近几年,大数据俨然成为互联网世界的宠儿。不只是出现在企业的战略中,也开始出现在政府的规划之内。据...
2018-10-15 14:56:29 156
原创 基于Netty+Zookeeper+Quartz调度分析
前言前几篇文章分别从使用和源码层面对Quartz做了简单的分析,在分析的过程中也发现了Quartz不足的地方;比如底层调度依赖数据库的悲观锁,谁先抢到谁调度,这样会导致节点负载不均衡;还有调度和执行耦合在一起,导致调度器会受到业务的影响;下面看看如何来解决这几个问题;思路调度器和执行器拆成不同的进程,调度器还是依赖Quartz本身的调度方式,但是调度的并不是具体业务的QuartzJob...
2018-10-15 10:23:35 221
原创 Dubbo分析之Serialize层
Dubbo整体设计关于Dubbo的整体设计可以查看官方文档,下图可以清晰的表达Dubbo的整体设计:1.图例说明图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口;图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系;图中绿色小块的为扩展接口,蓝色小块为实现类,图中只显示用于关联各层的实现...
2018-10-15 10:13:38 170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人