编程语言
文章平均质量分 77
JYYS
Java学习交流QQ群:288351179
展开
-
Java大牛教你如何实现终止线程池中正在运行的定时任务
源于开发最近项目中遇到了一个新的需求,就是实现一个可以动态添加定时任务的功能。说到这里,有人可能会说简单啊,使用quartz就好了,简单粗暴。然而quartz框架太重了,小项目根本不好操作啊。当然,也有人会说,jdk提供了timer的接口啊,完全够用啊。但是我们项目的需求完全是多线程的模型啊,而timer是单线程的,so,楼主最后还是选择了jdk的线程池。线程池是什么转载 2018-01-21 14:15:15 · 21182 阅读 · 4 评论 -
阿里架构师工作十年接触过Java框架设计模式(未完待续)
一、前言说起来设计模式,大家应该都耳熟能详,设计模式代表了软件设计的最佳实践,是经过不断总结提炼出来的代码设计经验的分类总结,这些模式或者可以简化代码,或者可以是代码逻辑开起来清晰,或者对功能扩展很方便…。设计模式按照使用场景可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral转载 2018-01-25 16:33:02 · 3088 阅读 · 0 评论 -
程序员面试中八大法则
1、缺乏对面试的模拟这是很显然的,做很多事情前你都要准备和模拟一下,防止意外的情况发生。程序员面试也是一样的,如果你正在准备一个程序员面试,你应该找一些可以和你一起准备的程序员,你们一起模拟面试的场景,互相提问。2、总是着急忙慌在解决问题时不要着急,否则只会导致更多的错误,显得你很粗心。要有条理和准确的的做事,经常回头看看你的代码,如果有错误就改正它们。这样做,其实完成项目的时间会更短,而且错误会转载 2018-01-18 14:23:15 · 454 阅读 · 0 评论 -
如何成为一名Java冠军程序员?
几个月前,我和的商务合作伙伴 Carl 以及我们的法国课程导师 Xavier 在巴黎的一家餐厅就餐。在谈话中,我和 Carl 就我们年轻时使用的那些炫酷技术而谈笑风生。与此同时,我注意到Xavier 沉默良久,于是我决定询问他的年龄。虽然不能确切的想起他的年龄,但我记得他与我年龄差距很大,和我第二个孩子的年龄相仿。这意味着,多少年来,我和 Carl 同时有过的那些编程经历,对他来说一文不值。软件工转载 2018-01-18 14:25:38 · 355 阅读 · 0 评论 -
阿里架构师工作十年接触过Java框架设计模式(续上文)
1-25续四、单例设计模式(Singleton Pattern)4.1 介绍单例模式是一种创建型模式,单例模式提供一个创建对象的接口,但是多次调用该接口返回的是同一个实例的引用,目的是为了保证只有一个实例,并且提供一个访问这个实例的统一接口。4.2 Spring中单例bean的创建Spring中默认配置的bean的scope为singleton,也就是单例作转载 2018-01-26 10:34:04 · 788 阅读 · 0 评论 -
编程路上,送给处于迷茫中的你和自己
在迷茫中入行从离校算起,踏入社会都快五年了,在最初的浑浑噩噩中度过了半年,终于在2013年上半年,我开启了编程这条不归路,或许你不会相信,我刚入行的时候,九九乘法表都不会写,甚至一个处了多年的哥们都嘲笑我,一个连java都不会的人,居然跑去做Android,现在想起,内心还是一阵心酸,或许也是那句话,才让我更加坚定的走下去,跪着也要走完自己选择的路。刚出转载 2018-02-02 17:03:25 · 512 阅读 · 0 评论 -
糟糕程序员和优秀程序员的区别?
软件蚕食一切,未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。要记住的是,编程不是什么精英才能干的事情。这个行业永远都缺人。所以除非你一点都不喜欢编程,或者也没有准备好看在钱的份上忍住这种不喜欢,否则都可以来编程。优秀程序员的几个表现:1、先进行实验是他们的本能反应编译器和运行环境通常能比人更快地解释一个问题。一个优秀的程序猿在转载 2018-01-19 15:00:15 · 228 阅读 · 0 评论 -
Mysql常用SQL语句集锦
//查询时间,友好提示$sql = "select date_format(create_time, '%Y-%m-%d') as day from table_name";//int 时间戳类型$sql = "select from_unixtime(create_time, '%Y-%m-%d') as day from table_name";//一个sql返回多个总数$sql = "sel转载 2018-01-19 15:02:34 · 186 阅读 · 0 评论 -
面试官最爱的volatile关键字
面试官: Java并发这块了解的怎么样?说说你对volatile关键字的理解就我理解的而言,被volatile修饰的共享变量,就具有了以下两点特性:1 . 保证了不同线程对该变量操作的内存可见性;2 . 禁止指令重排序面试官: 能不能详细说下什么是内存可见性,什么又是重排序呢?这个聊起来可就多了,我还是从Java内存模型说起吧。Java虚拟机规范试图定义一种Java内存模型(JMM),来屏蔽掉各种转载 2018-01-19 15:05:19 · 232 阅读 · 0 评论 -
四张图带你了解Tomcat系统架构
俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核心的模块,问题才可以游刃而解,了解了Tomcat的整体架构对以后深入了解Tomcat来说至关重要!一、Tomcat顶层架构先上一张Tomcat的顶层结构图(图A),如下:Tomcat中最顶层的容器是S转载 2018-01-19 15:53:37 · 265 阅读 · 0 评论 -
扔掉代码,程序员月薪达到了10k+
公司开发新项目,程序员开始加班敲代码;产品经理提出新需求,程序员开始加班敲代码;测试工程师发现bug,程序员开始加班敲代码。程序员认为当自己可以以一当十的时候,就能成为一名优秀的程序猿。然而事实是,技术大牛并不值得去完成10个普通程序员的工作量,也很难完成。互联网圈有一个词:10xProgrammer。理解其传递的价值,我们更愿意称其为:10%xProgrammer,即10%程转载 2018-01-29 14:07:36 · 924 阅读 · 0 评论 -
十年工龄的程序员为你揭示最危害程序员职业生涯的三大观念
蓦然回首自己做软件开发这个行业已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路!路其实一直都在那里,只是我们看不到而已!以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上...转载 2018-02-27 15:13:32 · 462 阅读 · 0 评论 -
草根程序员转型做项目管理走过的点点滴滴之"经验总结"
1、沟通交流a)交流的平等基因,不可怯场,把握一个平等的状态投入到沟通交流中去; b)交流的整段性,不要打断客户的完整表达; c)注重倾听,领会客户的意图后再做出反馈,不明白的地方要继续交流到明白后再反馈,给自己3~5秒的间隙不会对交流产生负作用的; d)交流的可规划(自己),对于自己发起的沟通交流,整个交流过程可以提前花几分钟时间模拟下(甚至可以成文); e)交流的可规划(整转载 2018-02-01 14:16:31 · 403 阅读 · 0 评论 -
2018年程序员涨薪必备——24本经典纸质书
程序员必读24款经典001豆瓣评分:8.7推荐:本书论述了数学在现代计算机行业的多种应用,涉及语言分析、翻译、输入法,还有网页的搜索、排名、分类,以及导航、密码学和大数据等多个方面。002豆瓣评分:7.4推荐:本书,适合具有一定经验的Python开发人员阅读。讲解了包括正则表达式转载 2018-01-08 16:28:29 · 875 阅读 · 0 评论 -
写代码水平的几个发展阶段
懵懂刚开始学习编程或学习一种新技术的时候,会有种雾里看花的感觉,似懂非懂,就算记住了也不会用。要突破这个阶段的方法就是“练习”,通过各种项目让自己熟练起来,做到任何一个不太难的业务需求可以快速想到解决方案并且开始动手实现。会用通过 google、stackoverflow、各种专业社区、各种文章等渠道,自己慢慢会发现更大的世界并对这个世界中各种技术产生了兴趣,理解一个简单的新技术不再成转载 2018-01-21 14:43:55 · 764 阅读 · 1 评论 -
老司机带你顺手撸一个支付宝蚂蚁森林效果
老司机,不存在的,其实我还算不上,哈哈。。。最近公司产品突然有一个类似支付宝蚂蚁森林的功能,大致功能跟支付宝蚂蚁森林相像,在看了一下支付宝蚂蚁森林的效果之后,本来这种东西用RN实现是最好不过的,不过产品既然决定选择原生,我们也不能把产品打死是吧,谁让我们是搬砖的呢?趁效果图还没出来,先撸一个控件出来,等公司效果图出来之后就可以放上去直接使用。首先我们先大致看下支付宝的蚂蚁森林效果图转载 2018-01-22 13:39:07 · 10520 阅读 · 0 评论 -
41岁阿里工程师:35岁转管理,真的是必经之路吗?
摘要:墨玦,阿里巴巴 iDST 高级技术专家。博士毕业于北京邮电大学,计算机应用专业,目前主要从事语音技术工程化方面的研发。回顾在阿里的三年时光,他感慨良多,写下了这篇总结,与大家共勉。博士毕业工作以来,最大的乐趣就是学习和深入思考。所以,从来不以工作过程中项目或者业务的简单或者复杂而困惑。对自身的发展,我一直有一个明确的指导方针:一步一个脚印,提升自己解决问题的能力,不给自己设限转载 2018-01-14 17:37:45 · 929 阅读 · 0 评论 -
程序员 30 岁前,该如何规划自己的职业发展?
1.为什么职业规划很重要?在回答这个问题之前,我得先给大家解释下为什么职业规划很重要,我就简单的举个例子,我想大部分人职业生涯的初期,跳槽、换工作大都是为了薪资,哪个方向赚的多,我去干哪个,哪家公司给开的价高,福利待遇好,那我就去那家公司。所以,为什么很多 IT 人频繁的跳槽,我不认为为了钱工作这是错误的价值观,毕竟工作就是为了赚钱养家,过的更好嘛,但是等你经历之后,你会发现,职业生涯的初期,转载 2018-01-14 17:43:00 · 202 阅读 · 0 评论 -
Java面试必问,ThreadLocal终极篇
前言在面试环节中,考察"ThreadLocal"也是面试官的家常便饭,所以对它理解透彻,是非常有必要的.有些面试官会开门见山的提问:“知道ThreadLocal吗?”“讲讲你对ThreadLocal的理解”当然了,也有面试官会慢慢引导到这个话题上,比如提问“在多线程环境下,如何防止自己的变量被其它线程篡改”,将主动权交给你自己,剩下的靠自己发挥。那么ThreadLocal可转载 2018-01-22 16:27:20 · 702 阅读 · 0 评论 -
开发者需要知道的有关软件架构的五件事
1.软件架构不只是前期的“大设计”传统的观点认为,软件架构就是在前期进行“大设计”,然后通过瀑布模型进行交付,架构团队要确保软件的每一个元素在进行编码之前都要考虑妥当。2001年,“敏捷开发宣言”建议我们“拥抱变化而不是遵循计划”,但这个观点后来却被误读成不应该制定任何计划。结果就是,有些开发团队直接从原先的“大设计”变成了零设计。这两种极端的行为都愚蠢至极,实际上,在某个时候,你会发现前转载 2018-01-23 14:26:41 · 464 阅读 · 0 评论 -
99%的程序员渴望的理想工作
今天和大家聊一个老话题:对程序员而言,什么样的工作,可以认为是一份理想工作。在我过去十几年的工作经历中,在不同类型的公司都曾努力奋斗过,所以今天和大家简单分享一下我的经历,列举一下理想工作的几个标志。 标志1. 能提高你的个人价值对于任何一份工作,只有能力不断提高,单位工作时间里创造更多的价值,才有机会享有上涨的工资/更好的待遇。从大学毕业走向社会后,理想的职业发展轨转载 2018-01-23 15:40:23 · 642 阅读 · 0 评论 -
有哪些 Java 源代码看了后让你收获很多,代码思维和能力有较大的提升?
最早看的 架构探险 从零开始写Java Web框架,黄勇写的,算是一种启蒙,作者自己写了一套ioc和aop框架以及mvc请求分发框架。跟着写了一遍,基本明白了Spring 和SpringMVC是怎么工作的然后顺着思路看了2遍Spring和SpringMVC的源码,一遍是跟着流程走了一边,一遍是基于接口和类的功能整体了解了一遍架构设计再后来看了how tomcat works转载 2018-01-16 14:13:14 · 778 阅读 · 0 评论 -
技术面试的时候该怎么样介绍自己?
“不好意思,稍微打断一下,可以详细介绍一下自己的项目经历么?从入职时间开始,到离职,每一个项目的开始时间,团队人数,你负责的模块。”不要紧张。面试就是聊天,没底气的人,才会紧张。当然对于很多没有工作经验的人来说,硬生生的编造工作经验是一件很吃力的事儿。可是既然选了这条路,就得走下去,最少的自圆其说。第一阶段,自我介绍。自我介绍的时候,请大声说出来自己的名字,哪一年的人,哪个学校转载 2018-01-16 14:17:45 · 11658 阅读 · 0 评论 -
“有能力”的程序员和“熟练”的程序员谁更牛?
1、“熟练”程序员和“有能力”程序员谁更牛?why?感觉都还可以吧,不过肯定是又熟练又有能力是最好的。相对而言我更喜欢“熟练”的程序员,因为按你的描述,他解决问题的能力更强一点。我在带项目的时候就更喜欢手更熟,更能独立解决问题的人,如果能快速解决问题就更好了。比较不喜欢对于架构啊、模式啊理解的一知半解、乱用、耽误事的人。2、怎么理解所谓的”熟练“和”有能力“ ?应该就是理论和实际执行能力吧。3、程...转载 2018-02-28 14:46:03 · 459 阅读 · 0 评论