Java
文西
过得太舒服,就是不自在的人
展开
-
Java 协变性 逆变性 学习笔记
在面向对象的计算机程序语言中,经常涉及到类型之间的转换,例如从具体类小猫到动物之间的类型转换(上行转换),或者从形状向三角形之间的转换(下行转换)。我们之前往往都比较关注类型本身,却常常忽略类型转换的性质。最近在拜读《thinking in java》看到一些关于类型转换性质的比较抽象理论的内容,仔细研究一下,分享给大家。我们将围绕如下三个核心名词:协变性(covariance)、逆变性(原创 2013-04-19 10:21:23 · 3956 阅读 · 1 评论 -
Spring Cloud + Kubernetes 微服务框架原理和实践
早在半年前,公司开始推行容器化部署方案 AppOS,虽然发布界面过于极客,十分晦涩,不过仔细研究起来真的觉得十分强大,容器化推行后,计算资源(CPU、内存)的利用率可以极大提高,降低服务器数量,从而节约技术成本。恰巧,若干个朋友所在创业公司最近也在尝试做微服务、容器化。架构上摒弃 SOA 的 dubbo,加入Spring Cloud阵营;部署方案上从过去的云服务器直接部署,升级到基于Kuberne原创 2017-12-06 16:08:39 · 18892 阅读 · 4 评论 -
基于Elastic Search的搜索广告召回方案
如果你对搜索广告,竞价排序,或者Elastic Search技术感兴趣,读读这篇文章或许多少能有所收获。作者不是计算广告领域的专家,如果作为读者的你是这个方面的专家发现本文浅薄,希望留下你宝贵的意见。因为ES版本升级很快,很多功能支持程度也伴随版本的升级而改变,本文内容基于Elastic Search 5.4.1实现。什么是搜索广告举个最常见的例子,当我们在淘宝上购物搜索时候,例如输入“猫粮”在搜原创 2017-08-09 08:23:22 · 9021 阅读 · 0 评论 -
深入理解Java SOA 架构Dubbo系列—— 第二回 搭建dubbo-demo环境
本文目的阶段一 基于本地调用的微服务框架阶段二 基于Zookeeper注册中心的微服务框架相关资料基于本地调用的dubbo微服务代码框架基于注册中心的dubbo微服务代码框架本文目的一旦提到某某架构,可能很多人的第一感觉就是:这个东西很复杂,很难实际操作。其实不然,只要获得对的资料,搭建自己对微服务框架并不是一件难事,不过由于历史原因,很多资料过于老旧,引用的文档也已经被废弃,所以从零搭原创 2016-09-14 13:26:16 · 7142 阅读 · 7 评论 -
面试归来——梳理社招面试以及浅述对程序员职业生涯的看法
原谅我是一个后知后觉的人,已经在新的岗位工作了两个月,才写这篇文章。 本文会先讲述博主一个月的面试经历,梳理一下技术面试,浅述关于程序员职业生涯的一些看法。从创业到再就业大概4个月以前,终止创业已经成为逃不开的事实。本来以为即使散伙,也会有比较充裕的时间找工作,所以并没有做过任何投递简历和面试。但是现实却紧张的多,实际留给我们的时间只有一个月。所以开始有些慌,毕竟太原创 2017-07-14 11:19:14 · 17426 阅读 · 52 评论 -
深入理解Java SOA 架构Dubbo系列—— 第一回 结缘
一年半以前,我在一家创业公司从事服务器端开发工作,虽然当时公司已经拿到了6000w的A轮融资,并且App已经有超过百万的日活,开发团队已经有10几个人。但是看一眼服务器的代码,却感觉和笔者本科时候做的“学生管理”系统没什么两样。所有的服务器代码,都在一个JavaWeb工程里,然后被打包成War,使用Tomcat部署。为了应对增长的活跃用户,使用Haproxy做了负载均衡,同样的war包会在5-10原创 2016-09-10 22:35:32 · 30857 阅读 · 12 评论 -
Jsoup 实现的基于列表-详情结构的网页爬虫
问题阐述: 对于很多应用而言,都需要搜集一些资讯内容充实自己的内容,这样可以丰富站点内容,增加用户停留的时间。最原始的办法,莫过于复制粘贴,但是,当如果目标网站是几个,甚至几十个的时候,复制粘贴并不是长久之计,劳心劳力,又容易搞错。所以基于程序的数据爬取就十分重要。但是几乎每个网站,都有他独特的结构,看起来要针对每个网站独特的结构,来写一套东西,但是这样拓展性也很差。这里我介绍一下,我所实原创 2016-01-30 18:39:28 · 3047 阅读 · 1 评论 -
Tomcat 服务器 Session的实现
结合《HTTP权威指南》和《How Tomcat Works》话一话我所理解的Session以及Tomcat下的实现方式!Session是什么?在开始正式讨论之前,我们首先探讨一些原理性的问题,什么是session,它可以用来做什么!我们每天都会浏览各种网站,不同的用户浏览网站的目的不同,在该网站上留下的历史也不同,为了提供个性化的服务,服务器就需要记录和识别用户!一个用户原创 2016-05-31 21:43:54 · 6624 阅读 · 0 评论 -
Mybatis 使用技巧-通用的搜索
写在前面算算自己也工作两年有余了,工作中遇到过很多问题,解决了很多问题,但是似乎没有太多时间反思,想想真的应该记录下来,越来越觉得反思和总结比盲目的做要重要的多。 粗浅的使用过几种java的持久框架,感觉mybatis还是十分好用的,特别比较喜欢resultMapping这个feature,使得结果的封装很方便。实际使用中,笔者遇到一个问题,就是针对不同的搜索,往原创 2016-01-01 21:47:19 · 3013 阅读 · 2 评论 -
LRU原理和Redis实现——一个今日头条的面试题
很久前参加过今日头条的面试,遇到一个题,目前半部分是如何实现 LRU,后半部分是 Redis 中如何实现 LRU。我的第一反应是操作系统课程里学过,应该是内存不够的场景下,淘汰旧内容的策略。LRU ... Least Recent Used,淘汰掉最不经常使用的。可以稍微多补充两句,因为计算机体系结构中,最大的最可靠的存储是硬盘,它容量很大,并且内容可以固化,但是访问速度很慢,所以需要把使用的内容原创 2018-03-13 21:23:00 · 28882 阅读 · 4 评论