随笔分类 - JAVA
摘要:在安装MySQL之前,我们先来介绍一下Ubuntu下软件的安装方式。首先回顾下,我们安装JDK,使用的是后缀名为tar.gz的安装包。安装idea,使用的是tar.gz;那有没有别的安装方式呢? 1.安装方式介绍 Linux系的软件包格式主要有:rpm、deb、tar.gz; rpm:主要在红帽LI
阅读全文
摘要:最近检查作业,虽然我们反复强调三层架构就是:表示层、业务逻辑层、数据访问层,每个层只做自己应该做的事情,但是,部分同学的作业还是不理想啊~~~ 你以为的三层架构是这样的: 而实际上你的三层架构是这样的: 如果我们尚不能完全了解把握各个层的边界,那么我们首先仅需要记住下面两句话: 1:除了UI层,任何
阅读全文
摘要:三层架构的学生管理系统是我们第一个稍微大型的项目:分层、一个解决方案多个Project,所以值得我们停下来好好审查审查。 1.测试SVN服务器地址 我们的作业要求学员创建自己的SVN服务器,并且将代码commit上去,然后讲师进行批改是从源码服务器上获取代码,继而review。这非常类似于敏捷开发中
阅读全文
摘要:吃着火锅唱着歌,我们的课程已经进行了两个月了,现在,我们终于有能力进行真正的软件开发了。 往期学完课程面试归来的同学,都知道有一句话:“面试造航母,实际工作拧螺丝钉”。 很庆幸的是,到目前为止,你已经掌握了大部分拧螺丝钉需要的知识了,这些知识就是:JavaSE+HTML+CSS+JavaScript
阅读全文
摘要:前面几期就业班学生知道,我在做简历指导时说过:如果你的简历中项目经历写的是“学生管理系统”、“**办公自动化”这样的系统,那么就等于告诉面试官:你没有项目经验。 对于面试找工作,学生管理系统这样的项目简直毫无用处,甚至是减分项。如果你一定要说你实现了一个NB的学生管理系统,那么就需要拿出你在GITH
阅读全文
摘要:JetBrains的产品我曾经用过很长一段时间,它们是resharper和dotcover。VS号称宇宙最强IDE,直到它遇到了resharper,我们才知道,原来vs可以更好。DotCover是一个计算代码覆盖率的工具,过去,我们为了应付QA的检查,与DotCover成了最好的朋友。 我有一段时间
阅读全文
摘要:在上文讲完之后,我们手里的ubuntu只能算是一个上网机,什么也干不了,本篇我们将折腾它为开发机。 这里,我们这里假定你对linux体系是初级选手,所以本篇会讲的啰嗦一点,高手就出门左转吧。 1.安装 首先我们确定下我们安装的Ubuntu系统是否已经安装了java环境。 进入终端,敲入命令su,进入
阅读全文
摘要:对于未知,一般来说我们有两种心理:恐惧,或者崇拜。 恐惧如小时候,我去河里游泳,对于望不见底,黑漆漆、凉飕飕的河水,心中充满了各种可怕的想法。 崇拜如长大后,对于瑞士银行的软件系统,觉得一定是最顶尖掰的程序猿开发的,直到我发现了我同事的秘密(关于这个梗,咱们改天当面聊)。 所以如果你跟当年的我一样,
阅读全文
摘要:我原本不想用“错误”二字。因为错误显得太严重了,并且,软件编码本身就没有对错,只要你把功能实现了,剩下的就是思想流派的分歧。但这里仍旧想用“错误”两个字,因为本篇诊断所涉及的那些问题基本已经属于当前软件开发规则中的普适需要避免的。 注意,被诊断的学员并不是学的差的学员,相反,他有可能是学的很好的那一
阅读全文
摘要:每一个在最课程学习的学生,到了最后几乎都会来问我一个问题:老师,是不是实际的开发中,都会有一个前端开发工程师,把静态页面做好了,然后才交给我们后台开发啊? 我只能说:你想多了。 我知道你这么问的意思,HTML+CSS+各类前端框架学习起来太繁琐了,是不是就没有必要放大的力气学习了?因为反正有人会帮我
阅读全文
摘要:上文描述了版本控制后,此篇才真正到了作业本身。我们第一次大作业要完成的是一个利息计算器。 利息计算器或者说融资计算器有自己的图形化版本,每一个学习的同学如果想要直观的了解下功能,可以管自己的老师要或者加文末的QQ群向老师索取。不过我们今天要实现的是非图形化的界面,是CS版本的,简而言之就是你要利用自
阅读全文
摘要:版本控制在友军那里都是放在整个培训的最后阶段才开始讲的,但我们打算放到SE阶段。与其匆匆在项目实战阶段弄个半生不熟,然后进入实际工作中接受他人对你的怀疑,不如……早死早超生~~~。 可是,我们毕竟现在才刚学了Java一个月,代码都写的不溜呢,甚至都不知道目前掌握的知识能做点撒实际有用的工作,怎么就来
阅读全文
摘要:Windows10正在成为史上口碑最差的Windows系统 (图侵删) 我曾经花了数次1小时去寻找解决方案去关闭自动更新,包括停掉服务、修改注册表等等。但是都没有成功。 微软自身是知道这个问题的,但就跟过去几年的很多微软的技术框架一样,我就是一意孤行,你能把我怎么的。 (贴在微软总部食堂的一张图片)
阅读全文
摘要:在上文中,《Java代码质量改进之:同步对象的选择》,我们提出了一个场景:火车站有3个售票窗口,同时在售一趟列车的100个座位。我们通过锁定一个靠谱的同步对象,完成了上面的功能。 现在,让我们反过来,每个窗口负责一趟车。比如一号窗口就卖1号列车的票,二号窗口就卖2号列车的票。不过它们需要同时开始卖票
阅读全文
摘要:在Java中,让线程同步的一种方式是使用synchronized关键字,它可以被用来修饰一段代码块,如下: 当synchronized被用来修饰代码块的时候表示,如果有多个线程正在执行这段代码块,那么需要等到其中一个线程执行完毕,第二个线程才会再执行它。但是!如果被锁的同步对象没有被正确选择的话,上
阅读全文
摘要:在共同使用JDK1.8,String4.0以下版本的时候,报错:Failed to load ApplicationContext。 采用如下方式修正, 1:在pom文件中修改4.0.2.RELEASE; 2:update project;
阅读全文
摘要:一:现象 有小伙伴写了下面一段代码,然后发现,随着每次关闭浏览器,count的值重新开始计数了,如下: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession sessi...
阅读全文
摘要:垃圾回收是JAVA中的一个大知识点,也是一个著名知识点,毕竟JAVA号称自己先进性的时候总是会带上垃圾回收。于是,它也成了面试中的常客,面试官动不动的就要你解释下什么是垃圾回收,以及它的原理是什么。当然,虽然,以及肯定,那个问你垃圾回收的面试官他99%也只是略知皮毛而已。当面试官问你什么是垃圾回收机制的时候,你应该这样一本正经的反问:请问您问的哪个VM中的垃圾回收机制? 由于垃圾回收中涉及到的概念...
阅读全文
摘要:举例来说,连续相同的3位数字的正则表达式的标准语法是: ([\d])\1{2} 但是如果在java代码中这么写,就会出现语法错误,如下: String regEx = "([\d])\1{2}"; 考虑到\符号在java字符串的语法中属于转义符,所以,需要的java的语法是: String regEx = "([\\d])\\1{2}"; 为了加深印象,再来看下一个例子:前面连续相同的3位数...
阅读全文
摘要:1:比较和排序的概念 比较:两个实体类之间按>,=, students = new ArrayList(); students.add(new Student("a", 3)); students.add(new Student("c", 2)); students.add(new Student("b", 1)); students...
阅读全文