
架构
文章平均质量分 80
周小pang
这个作者很懒,什么都没留下…
展开
-
2018年Java编程学习类的方法总结——目前网上最完整9种方法总结
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。给你学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springm...原创 2018-05-16 21:19:52 · 602 阅读 · 0 评论 -
在中国,有多少程序员干到40了?那么其他人去干什么了?
转:知乎问答响马:今年 47,快五十了,每天编程时间平均六到八小时。身体肯定比不上年轻人了,三十岁的时候,我连续编程时间可以在二十小时以上,经常有人第一天上班看见我在公司,第二天上班看见我还在公司。年纪大了,明显容易疲劳,工作到两点以后,也就写不了什么了。一度身体状况也很差,过敏性鼻炎,颈椎病,肩周炎,周期性闹肚子等。去年开始进健身房健身,同时去看康复医疗医生做姿态矫正。几个月后这些问题明显改善,...转载 2018-05-11 21:30:03 · 726 阅读 · 0 评论 -
要成为一个 Java 架构师得学习哪些知识?
既然java架构师,首先你要是一个高级java攻城尸,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池...:;java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;java多线程同步异步;java各种集合对象的实现原...原创 2018-05-11 19:41:29 · 353 阅读 · 0 评论 -
Java 类型推导的不确定性
本文是读完oopsla16的一些心得Figure 1上面这个测试例运行的结果是,main函数中抛出一个 ClassCastException ,异常信息为 “java.lang.Integer cannot be cast to java.lang.String” 。原因简单说就是因为JVM运行时检查出了类型问题,发现代码企图将一个Integer类型的对象转化为String类型,这种转换是不允许的...原创 2018-05-17 20:33:39 · 889 阅读 · 0 评论 -
java程序员面试需要了解的相关类问题
两个月,这让我想到了我当年第一份工作,也是两个月从零学JAVA。当时就买了3本书,强啃了6周。记住一点,时间有限,别听网上很多大牛的,他们说的太杂。你要抓重点,你只要让人家知道,你足够初级开发就可以了,学了长长一个列表,个个不精,被面试官随便问起来,就糟了。倒不如抓住最基本的,反正你就是初级人员,只懂最基本的,是最正常的情况。首先,学会一个J2EE服务器,tomcat+(Nginx或者httpd等...原创 2018-05-04 19:32:14 · 316 阅读 · 0 评论 -
阿里架构师的成长之路,Java开发者的技术梦要如何实现。
写在开篇:不管是开发、测试、运维,每个技术人员心里都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。然而“梦想是美好的,现实却是残酷的”,很多同学在实际工作后就会发现,梦想是成为大牛,但做的事情看起来跟大牛都不沾边,例如,程序员说“天天写业务代码还加班,如何才能成为技术大牛”,测试说“每天都有执行不完的测试用例”,运维说“扛机器接网线...原创 2018-05-10 19:22:24 · 272 阅读 · 0 评论 -
java编程学习哪些知识点容易混淆!
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。给你学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springm...原创 2018-05-12 20:45:30 · 233 阅读 · 0 评论 -
如何用redis/memcache做Mysql缓存层?
看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。我不知道为什么这么多人用的都是这个逻辑,...原创 2018-05-06 21:38:29 · 507 阅读 · 0 评论 -
Java并发系列—工具类:Semaphore
Semaphore(信号量)用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。Semaphore提供了一个许可证的概念,可以把这个许可证看作公共汽车车票,只有成功获取车票的人才能够上车,并且车票是有一定数量的,不可能毫无限制的发下去,这样就会导致公交车超载。所以当车票发完的时候(公交车以满载),其他人就只能等下一趟车了。如果中途有人下车,那么他的位置将会空闲出来,因...原创 2018-05-15 21:17:03 · 520 阅读 · 0 评论 -
Java高级特性入门——泛型、反射和注解!
摘要: 只有掌握了Java的高级特性,这门语言才算真正地登堂入室。本文将带领大家一同了解Java语言的三个常用的高级特性——泛型、反射和注解。专家简介:澳明 ,阿里巴巴高级开发工程师,来自于阿里巴巴研发效能事业部-研发平台-代码智能化团队。以下内容根据演讲嘉宾视频分享以及PPT整理而成。本次的分享主要围绕以下三个方面:一、泛型介绍二、反射机制三、注解的使用一、泛型介绍在日常编程的过程中,泛型在这三...原创 2018-05-15 15:45:10 · 398 阅读 · 1 评论 -
工作满一年的Java程序员怎么慢慢转为Go程序员?
几百万做 Java 的是不是傻子不太确定。Rob Pike 那帮人绝不是傻子而且聪明绝顶,这很确定。并发数、运行效率、内存、工具链、部署、DevOps 管理、对 coder 的心智要求,综合所有方面考虑 Java 是被 Go 完全碾压。微服务 service mesh 这些领域现在所有最重要的基础设施几乎都是 Go 实现,少量新方案用Rust。区块链 Go 也是主力。面过很多人,没有不懂 SSH ...原创 2018-05-07 22:18:19 · 8009 阅读 · 0 评论 -
Docker是什么?
Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。1.不同的应用程序可能...原创 2018-04-29 21:00:38 · 205 阅读 · 0 评论 -
比较spring cloud和dubbo,各自的优缺点是什么?
dubbo由于是二进制的传输,占用带宽会更少springCloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大dubbo的开发难度较大,原因是dubbo的jar包依赖问题很多大型工程无法解决springcloud的接口协议约定比较自由且松散,需要有强有力的行政措施来限制接口无序升级dubbo的注册中心可以选择zk,redis等多种,springcloud...原创 2018-05-07 17:59:10 · 4787 阅读 · 1 评论 -
Facebook顶级架构师教你怎么使用Java来搭建微服务!
微服务背后的大理念是将大型、复杂且历时长久的应用在架构上设计为内聚的服务,这些服务能够随着时间的流逝而演化。本文主要介绍了利用 Java 生态系统构建微服务的多种方法,并分析了每种方法的利弊。快速预览在 Java 生态系统中构建微服务的策略主要有:container-less, self-contained 和 in-container;Container-less 微服务把应用程序及其所有依赖打...原创 2018-05-19 21:34:07 · 654 阅读 · 0 评论 -
java中的四种引用
Java 中有四种引用:强引用、软引用、弱引用、虚引用。引用的存在,就是为了让开发者可以更好地管理内存。1. 强引用强引用是指创建一个对象并把这个对象赋给一个引用变量。 当一个对象有具体指向强引用时,JVM 宁可抛出 OutOfMemory 也不会去回收它。强引用是我们平时最常用到的引用,如:1Person person =newPerson();1String str ="Hello World...原创 2018-05-10 17:22:29 · 207 阅读 · 0 评论 -
程序员面试,为什么不跟我谈高并发?
作为一个看过几千份简历,面试过几百人的面试官,常常会看到简历中有如下文字:对业务逻辑解耦,高并发等有比较深入的研究和丰富的开发实战经验对解决高并发问题有深入理解熟悉大并发技术,如:反向代理、负载均衡、Keepalived而当我在面试中,问及对方的职业规划的时候,也有一大半人会回答希望将来可以处理高并发业务希望学习高并发相关技术希望开发数千万/数亿级别并发的应用但是当我问及以下问题的时候,绝大多数人...原创 2018-05-08 20:58:08 · 2048 阅读 · 0 评论 -
‘’程序猿‘’应该怎样理解,运用自己的技术呢?
首先:钻研更多的技术有什么用?钻研更深的技术有什么用?你懂得更多了,公司就该涨你的工资?没有这个道理。你懂得更多,就可以跳槽到大公司?也许吧,这也是一条路,不过大公司就这么多;也不好说,可能比考公务员容易一些。如果你在小公司,你不帮助公司发展壮大,不和公司一起成长,整天琢磨如何跳槽到大公司?这不是正路。到了大公司,你的心思是不是还在考虑如何跳槽到更大的公司?你不关心现有的项目,不关心现有的业务?不...原创 2018-04-23 21:00:37 · 204 阅读 · 0 评论 -
JAVA技术架构-并发编程学习总结
概述所谓并发编程是指在一台处理器上"同时"处理多个任务。并发是在同一实体上的多个事件。多个事件在同一时间间隔发生。一、程序与进程程序是一组有序指令的集合,是一种静态的概念。进程是程序的一次执行,属于一种动态的概念。在多道程序环境下,程序的执行属于并发执行,此时它们将失去封闭性,并具有间断性,运行结果也将不可再现,为了能使多个程序可以并发执行,提高资源利用率和系统吞吐量,并且可以对并发执行的程序加以...原创 2018-04-04 19:25:01 · 175 阅读 · 0 评论 -
Java程序员还在为涨薪发愁吗?学会这些薪资翻倍
第一部分 Java高并发编程1.Java 线程、锁基础知识2.深入剖析volatile、synchronized、Lock、AtomicX关键字(一)3.深入剖析volatile、synchronized、Lock、AtomicX关键字(二)4.深入剖析java concurrent 包 阻塞队列、ConcurrentMap5.深入剖析java concurrent包 闭锁、栅栏、交换机、信号量6...原创 2018-04-04 15:15:40 · 387 阅读 · 0 评论 -
Java 高级基础——反射
射的意义:Java 强类型语言,但是我们在运行时有了解、修改信息的需求,包括类信息、成员信息以及数组信息。基本类型与引用类型基本类型,(固定的 8 种)整数:byte, short, int, long小数:float, double字符:char布尔值:boolean引用类型所有的引用类型都继承自 java.lang.Object类,枚举,数组,接口都是引用类型java.io.Serializa...原创 2018-04-03 19:17:53 · 176 阅读 · 0 评论 -
大型网站技术架构(2):架构要素和高性能架构
为了使网站的能够应对高并发访问,海量数据处理,高可靠运行等一系列问题,我们可以选择横向或纵向两个方向来入手基本思路首先可以对整个架构进行分层,一般可以分为 应用层,服务层,数据层;实践中,大的分层结构中还可以继续分层,比如 应用层 还可以继续分为 视图层 和 业务逻辑层,服务层也可以继续细分为 数据接口层 逻辑处理层 等通过分层,我们把一个庞大的系统切分为不同的部分,便于分工开发和维护;各层之间相...转载 2018-04-03 14:33:26 · 192 阅读 · 0 评论 -
要成为一个 Java 架构师得学习哪些知识?
既然java架构师,首先你要是一个高级java攻城尸,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池...:;java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;java多线程同步异步;java各种集合对象的实现原...原创 2018-04-15 19:03:14 · 248 阅读 · 0 评论 -
跳槽必看,Java程序员面试中你需要注重的技巧
作者:211链接:https://zhuanlan.zhihu.com/p/34850847来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。面试是件既简单又复杂的事情,也正是因为简单和复杂的两面性,所以我们在面试的时候要多学些面试技巧,如果你说掌握这些东西也没什么鸟用,那我是无话可说了;如果你觉得各方面都准备妥当,但差点火候,我觉得你看完这篇能更好的发挥你的潜力。一、...原创 2018-04-08 15:54:39 · 355 阅读 · 0 评论 -
展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
原文链接:https://www.cnblogs.com/jirigala/archive/2009/08/03/1537874.html走过的路回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在不断变化,但是很可能你也会走我已经做过的10来年的路程,有些心得体会您可以借鉴一下,觉得说得有道理的接纳,觉得说得没道理的就抛弃,以下是发自内心的给大家的忠告,特别是针对那些小弟弟...转载 2018-04-08 15:33:46 · 227 阅读 · 0 评论 -
五分钟让你明白Java I / O
Java使用流的概念来快速地完成I / O操作。 java.io包中包含输入和输出操作所需的所有类。我们可以通过Java I / O API在java中执行文件处理。流流是一系列数据。在Java中,一个流由字节组成。 它被称为溪流,因为它就像一股不断流动的水流。在java中,3个流是自动创建的。 所有这些流都与控制台连接。System.out:标准输出流System.in:标准输入流System....原创 2018-04-04 19:38:23 · 254 阅读 · 0 评论 -
Java互联网架构-高并发缓存架构你那些年遇到的踩坑故事
今天讲的这个话题,我相信是众多工程师和团队的痛。从我刚开始工作,那时候构建本地缓存,到后续memcache, Redis的出现,到现在各种分布式集群的缓存,例如redis Cluster等产品的出现,缓存越来越发达和复杂了,缓存对我们的系统也越发重要,现在很难相信一个后端服务里没有缓存的存在。在这篇文章里,我会和大家分享一下过去踩到的缓存踩坑故事,然后试图给出一些解决方案,大家可以一起讨论,最终拿...原创 2018-04-04 19:46:31 · 283 阅读 · 0 评论 -
轻松理解java中的IO与NIO
IO是计算机中Input和Output简称,即输入和输出。 无论是系统、还是语言的设计中IO的设计都是异常复杂的。Java语言在IO设计方面是比较成功的,不仅是面向对象,而且利用装饰器设计模式(后面会写针对设计模式的文章)减少了大量的类,提供了较好的扩展性。那Java IO怎么写入/读取数据?Java IO类库可以分为输入流和输出流,输入流来读数据,输出流来写数据。输出流实例代码一: //输...原创 2018-04-12 15:05:40 · 2156 阅读 · 0 评论 -
深入理解MVC
MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来,然而软件内部代码的组织方式却是不科学的,这会影响到软件的可维护性、可移植性,代码的可重用性。MVC即Model、View、Controller即模型、视图、控制器。我在和同行讨论技术,阅读别人的代码时发现,很多程序员倾向于将软件的业务逻辑放在Controller里,将数据库访问操作的...原创 2018-04-30 17:56:05 · 91577 阅读 · 28 评论 -
如何从Java工程师成长为架构师?
我觉得这样的问题,像 @刘成 的回答方式就更好些,每个人有每个人的特性,我认为问:我怎么提高,很难获得很好的答案,因为制定学习方法,必须因人而异,而这种形式,更适合高端培训,而不是知乎这种问答网站。而问经验,经历就很好,你从不同的人眼里,可以被解读出不同的有用信息,这样不同的人可以取自己需要的部分。其实在国内软件发展并不像美国那样长久地发展,而是在互联网时代集中爆发,架构师已经和初始的含义有所变化...原创 2018-04-13 17:37:31 · 446 阅读 · 0 评论 -
高级架构师是如何养成?我教你方法!
最近好多人私信问我,该怎样才能成为架构师,还有一个就对当前的状态感到迷茫。我在此做一个简单的说明,或者对迷茫中的你来说有些许帮助。如果你是想成为Java架构师,那么你首先要是一个Java高级攻城狮。也就是说,基础必须牢固,对Java的了解全面而且深入。有很多人对现在的工作感到很没意思,因为当前的工作,完全是实现业务,技术上没有任何提高。在这种状态下就会感到迷茫,特别是一想到将来这种迷茫感就更强烈了...原创 2018-04-13 17:03:59 · 1662 阅读 · 0 评论 -
Java新手如何学习Spring、Struts、Hibernate三大框架?
想说说自己Spring的学习路程,课余自学Spring将近一年了,还是不得其道。去年暑假学习了一下JSP,并没有深入理解,所以导致学习Spring时对着书本写一些demo,感觉自己理解了,其实并不知道内部时什么原理,出了问题不停的百度,一个小问题好几天解决不了。 学习一种框架最先需要知道的是为什么需要使用这个框架,任何一个框架的发明都是为了解决编程中的一些痛点,打开任何一本hibernate或者其...原创 2018-04-18 17:42:12 · 347 阅读 · 0 评论 -
Java进阶之路——从初级程序员到架构师,从小工到专家
怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题。希望这篇文章会是你看到过的最全面最权威的回答。一: 编程基础不管是C还是C++,不管是Java还是PHP,想成为一名合格的程序员,基本的数据结构和算法基础还是要有的。下面几篇文章从思想到实现,为你梳理出...原创 2018-04-12 19:47:34 · 344 阅读 · 0 评论 -
Java 初学者,如何学习 Java?
作为一名Java的完全自学者。我来说说吧,希望能给大家带来点帮助,如果有不同意见的大家一起来讨论,总之,希望大家可以共同进步。。废话不多说了。。进去正题。。学习Java呢如果你学过别的面向对象的语言那么通过类比我觉得你一定学起来比较轻松,当然了我们这里就从什么语言没学过的小白说起。。首先来给大家推荐几本参考书。ONE:当初java入门的时候看了一些书,现在想起来特别喜欢 head first j...原创 2018-04-18 15:52:31 · 328 阅读 · 0 评论 -
你应该准备这些Java面试
自天子以至于庶人,壹是皆以修身为本《礼记·大学》马老师说过,员工的离职原因很多,只有两点最真实:钱,没给到位心,受委屈了当然,我是想换个平台,换个方向,想清楚为什么要跳槽,如果真的要跳槽,想要拿到一个理想的offer,除了运气,基本功也要足够的扎实,希望下面的面试经验能给你们能够提供一些帮助。1项目经验面试官在一开始会让你进行自我介绍,主要是想让你介绍一下自己做过的一些项目,看看你对这些项目的了解...转载 2018-04-12 15:16:48 · 238 阅读 · 0 评论 -
怎样进行Java大数据入门知识学习
作者:Java链接:https://zhuanlan.zhihu.com/p/35387517来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。大数据是目前互联网行业流行的技术术语,因此衍生了许多与大数据相关的行业。大数据的应用是通过数据挖掘和分析来影响业务决策的。大数据有很重要的价值,对于企业公司来说很重要,要问大数据工程师的工作是怎么?一个很重要的工作就是通过分析数...原创 2018-04-08 15:29:07 · 2361 阅读 · 0 评论