Home

java注解使用总结

2005年,sun公司推出了jdk1.5,同时推出的注解功能吸引了很多人的目光,使用注解编写代码,能够减轻java程序员繁琐配置的痛苦。 使用注解可以编写出更加易于维护,bug更少的代码。 注解是什么呢?按照官方的说法,注解就是元标签,可以添加到你的代码,并应用于包声明、类型声明、构造函数、方法、字段、参数和变量。 注解提供了一种非常有用的方法来显示你编写的方法是否依赖于其他方法,它们是否完整,编写出的类是否引用了其他类,等等。 按照Oracle官方的说法,基于注解编写出的java代码会根据源代码中的注解生成模板代码,从而避免我们在大多数情况下编写模板代码。这导致了一种声明式编程风格,在这种风格中,程序员说要做什么功能,工具就写出相应的代码来实现它。 简而言之,注解是一种机制...

Read more

Java反射使用总结

最近公司招了几名刚毕业的大学生,在给他们培训的过程中,讲到反射,他们有些人听不懂,对反射的概念云里雾里的,不知道反射有什么用。 因此就有了本文的诞生。 反射是java提供的一个重要功能,可以在运行时检查类、接口、方法和变量等信息,无需知道类的名字,方法名等。还可以在运行时实例化新对象,调用方法以及设置和获取变量值。 反射非常强大和有用,很多java框架中都有反射的影子,例如spring、mybatis等等, JDBC利用反射将数据库的表字段映射到java对象的getter/setter方法。 Jackson, GSON, Boon等类库也是利用反射将JSON文件的属性映射到java对的象getter/setter方法。 可见,只要使用java,反射就无处不在。 Class...

Read more

记一次解决tomcat自动关闭的bug

最近一个运行了4年的javaee web项目,经常接到客户反馈系统无法打开。登录服务器查看服务,发现是tomcat自动关闭了。基本是3到4天发生一次。 运维人员开始以为是其他服务杀死了tomcat服务,没放在心上,解决方法就是直接重启tomcat。 最终捅了篓子,运维人员被客户投诉,扣了一个月的绩效。 解决这个bug兜兜转转来到了我这里。既然接到任务,那就开干,没有解决不了的bug。 系统的运行环境如下: tomcat6.0 32位jdk7.0 window server2003 32位,32G内存。 查看日志,如果tomcat闪崩,都会在tomcat的bin目录下生成以”hs_err”开头的日志文件。打开最新的日志文件,首先看到的是下面一段话: # There is ins...

Read more

MongoDB数据库发展历程及商业模式

2007年,Dwight Merriman, Eliot Horowitz和Kevin Ryan成立10gen软件公司,在成立之初,这家的公司目标进军云计算行业,为企业提供云计算服务。在开发云计算产品时,他们准备开发一个类似于数据库的组件,为云计算产品提供存储服务。当时是关系型数据库一统天下的时间,他们觉得传统的关系型数据库无法满足他们的要求,他们想要一款程序员不懂SQL语言也可以使用的数据存储产品。 在网络上找了一圈,不管是开源的还是闭源的产品,都没找到让他们满意的东西,既然找不到,那就自己开发吧,反正他们也有那个技术实力,10gen的创始人都来自谷歌,他们创建的网络广告公司DoubleClick被谷歌收购了,这是他们的第二次创业。 10gen公司不使用关系型数据库是由一定的原因...

Read more

腾讯裁员,裁出“财务自由”

2019年3月19早上8点,手机里突然弹出腾讯裁员10%的消息,自从去年年底以来,互联网企业裁员已经不是什么新鲜事了,很多中小企业都经历了裁员风波,但是今天腾讯裁员的消息,还是挺让人惊讶的,作为互联网企业的绝对巨头,手握着QQ和微信两大社交产品,2018年收入即将突破3000亿人民币的互联网巨头,传出裁员消息,确实让人让人惊讶。 根据媒体报道,腾讯这次裁的是中层管理干部,主要包括总经理助理、副总经理和总经理。腾讯大概有将近2千多名管理干部,裁员10%,相当于200多名中层管理干部。 目前腾讯的中层管理干部大多是都有10多年的工龄,年收入在百万左右,按照n+1的补偿,一个中层管理干部在腾讯工作了15年,将获得16个月的补偿,大概100多百万,并且那些中层干部都是04到06年之间加入腾...

Read more

数据分析入门——Pandas类库基础知识

使用python进行数据分析时,经常会用Pandas类库处理数据,将数据转换成我们需要的格式。Pandas中的有两个数据结构和处理数据相关,分别是Series和DataFrame。 Series Series是一种类似于一维数组的对象,它有两个属性,value和index索引。可以像数组那样通过索引访问对应的值,它和数组有点类似也是python中的dict有点类似,数组中的索引只能是数字,而Series的索引既可以是数字类型也可以是字符类型。 创建Series对象 最简单的方式是通过list序列就可以创建Series对象 s1 = Series(['a','b','c','d']) s1 Out[16]: 0 a 1 b 2 c 3 d 没有指定索...

Read more

数据分析入门——numpy类库基础知识

numpy类库是数据分析的利器,用于高性能的科学计算和数据分析。使用python进行数据分析,numpy这个类库是必须掌握的。numpy并没有提供强大的数据分析功能,而是它提供的ndarray数据结构能够让你快速的处理海量的数据。 shape和dtype属性 ndarray是numpy的多维数组对象,是numpy类库中主要的数据结构,它有两个重要的属性,shape和dtype,shape是描述数组维度的元组,dtype用于说明数组数据类型。 data = [1,2,3,4,5] arr1 = np.array(data) arr1 Out[6]: array([1, 2, 3, 4, 5]) arr1.shape Out[7]: (5,) arr1.dtype Out[8]: d...

Read more

Python数据可视化之pyecharts实现各种统计图表

之前的一篇文章介绍了使用Matplotlib实现各种统计图表,Python数据可视化之Matplotlib实现各种图表。这篇文章就介绍使用pyecharts实现各种统计图表。 1、pyecharts介绍 Echarts是一款由百度公司开发的开源数据可视化JS库,pyecharts是一款使用python调用echarts生成数据可视化的类库,可实现柱状图,折线图,饼状图,地图等统计图表。 2、柱状图 适用场合是二维数据集(每个数据点包括两个值x和y),但只有一个维度需要比较,用于显示一段时间内的数据变化或显示各项之间的比较情况。 优点: 利用柱子的高度,反映数据的差异,肉眼对高度差异很敏感。 缺点: 只适用中小规模的数据集。 柱状图最基本用法 from pyecharts i...

Read more

中国社交产品之战

2019年1月15日,中国社交产品出现3英战吕布的局面,三个社交产品的发布时间分别是早上的马桶、中午的多闪,晚上的聊天宝。拥有10亿用户的社交老大微信稳坐钓鱼台,没有一丝慌乱,来一个封杀一个,毫不手软。只见三英在网络上不停的喊话微信,但是微信根本就尿他们,你发布你的,我封杀我的。 首先出场的是原快播的创始人王欣,带来的社交产品是马桶MT,主打熟人匿名社交,在14号晚上,马桶MT开始在微信上造势,当我开始准备下载试用的时候,微信已经屏蔽了马桶MT的下载链接。开始挺看好王欣的社交产品的,毕竟他的快播曾经陪伴了亿万宅男的无数个日日夜夜以及留下满地的纸巾。他入狱后很多人宅男在微博上留言“我们欠王总一个会员”。 遭到微信的屏蔽之后,王欣在微博上发声: 说说马桶吧,界面和功能设计还是...

Read more

Python数据可视化之Matplotlib实现各种图表

数据分析就是将数据以各种图表的形式展现给领导,供领导做决策用,因此熟练掌握饼图、柱状图、线图等图表制作是一个数据分析师必备的技能。Python有两个比较出色的图表制作框架,分别是Matplotlib和Pyechart。本文主要讲述使用Matplotlib制作各种数据图表。 Matplotlib是最流行的用于绘制2D数据图表的Python库,能够在各种平台上使用,可以绘制散点图、柱状图、饼图等。 1、柱状图 是一种以长方形或长方体的高度为变量的表达图形的统计报告图,由一系列高度不等的纵向条纹表示数据分布的情况,用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。柱状图可以用来比较数据之间的多少,可以用来观察某一事件的变化趋势,柱状图亦可横向排...

Read more