
JAVA
码农星球撸码J
健身 软件开发 讲师 作者 WRITING BAD
展开
-
Comparable与Comparator,java中的排序与比较
1:比较和排序的概念 比较:两个实体类之间按>,=, 排序:在集合类中,对集合类中的实体进行排序。排序基于的算法基于实体类提供的比较函数。 基本型别都提供了默认的比较算法,如string提供了按字母进行比较,int提供了按整数大小进行比较。 2:Comparable与Comparator but,光看概念没有任何意义,我们不知道这对代码来说意味着什么; 我原创 2017-08-09 11:39:17 · 619 阅读 · 0 评论 -
SpringBoot无废话入门04:MyBatis整合
1.Parent引入及pom配置 首先,如果要支持mybatis,那么我们就应该引入mybatis的starter。同时,由于连接本身还需要用jdbc的connetor和连接池,所以一并需要引入这些依赖。如下是一个完整的的最简pom,<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://...原创 2019-03-16 14:35:25 · 150 阅读 · 0 评论 -
SpringBoot无废话入门03:SpringMVC支持
1.默认配置 Springboot对于路径的默认位置为: spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ 我们可以将资源文件放置上面的目录中。我...原创 2019-03-15 15:41:36 · 151 阅读 · 0 评论 -
培训出来的程序员容易被代替吗?
我认识这样一个程序员,他长这样, 我第一次认识他的时候,他告诉我:我是干销售的,卖房子,我觉得这一行太丑陋了,我想学点技术,踏踏实实的挣钱。我说:那你能吃苦吗?他说:我不觉得还有什么苦能比我干房产中介还要苦。 于是他来了。 学的可真费劲。 如果说有十个学生,那么他就是那个倒数第一、第二的那个。往往这样的学生...原创 2019-03-11 15:12:31 · 3771 阅读 · 11 评论 -
SpringBoot无废话入门02:SpringBoot启动分析
1.核心注解 在上文中,我们讲到了@SpringBootApplication是SpringBoot的核心注解。 可以很方便的在idea中下载源码来查看该注解的源码,如下: 可以看到,该注解本身又被其它注解所叠加。其中最重要的注解是@SpringBootConfiguration和@EnableAutoConfiguration。第一个支持...原创 2019-03-14 15:58:58 · 133 阅读 · 0 评论 -
零基础培训出来的人工资是多少?
我们所知道的想要学习IT的人,99%最关心的就是:我是零基础,我培训出来能拿多少工资?这也是各大社区平台提问率最高的问题。今天,码农星球君就花了一点时间,统计了一下我们所掌握的Java专业的数据。我们将从大专学历、大专及以上学历两个维度来给出结论。一:大专 首先,让我们把工资(月薪)档位分为大家最关心的三个档位:8K以下、8K-12K、12K以上。先看统计结果...原创 2019-02-25 17:39:01 · 604 阅读 · 0 评论 -
Java全栈程序员之07:IDEA中使用MAVEN构架生产级的Web项目
在上一篇我们介绍了如何在IDEA中使用MAVEN,以及如何创建依赖等。那么在这一篇中,我们就试图搭建一个生产级的解决方案,大家可以使用这个解决方案作为骨架代码来搭建自己的开发环境。 在这里,我们要完成: 创建parent,在parent里完成所有的pom依赖和定义; 创建common项目,common作为工具包而存在,被...原创 2019-02-25 17:04:40 · 264 阅读 · 0 评论 -
Java全栈程序员之06:IDEA中MAVEN项目依赖及运行
MAVEN已经成为事实上的企业项目开发中的项目类型。无论是IDEA还是Eclipse,都已经默认支持创建MAVEN项目。严格意义上来说,MAVEN不是一种新的JavaEE项目类型。它凌驾于所以的项目类型上面,是对之前项目的一种“管理”。如果我们创建了MAVEN项目,那么会很方便的干这两件事情: 1:管理所有的依赖包。其中一个例子是,以往我们要引入一个第三方的jar...原创 2019-02-19 16:41:32 · 534 阅读 · 3 评论 -
2019华为云大计:打造培育开发人员的黑土地
2019-3-5,码农星球君作为云享专家,参加《华为云普惠AI媒体/MVP&云享专家开放日》活动。由于活动是在华为深圳坂田基地举行的,于是码农星球君特打算提前一天的晚上到达。结果,航班晚点3小时。当码农星球到达酒店的时候,已经凌晨12点半。然而吃惊的是,华为的小姐姐和小哥哥们还在接待处元气满满的等待。码农星球君当时就一个心理活动: 有人比你优秀,结果TA还...原创 2019-03-08 11:48:43 · 505 阅读 · 0 评论 -
Java全栈程序员之08:MAVEN+JAVA配置
从Spring3.0开始,Spring支持以Java配置的方式来代替XML配置。这一点说起来其实有点可笑,XML配置的方式最初被创建出来就是为了让配置与程序员无关。可是最终我们发现,绝大多数的那些配置最终还是回到了程序员手里。于是,从Spring3.0开始,我们又将主动权交回到了自己手里。 让我们看一个最简的Spring注解案例:1.创建测试项目Use...原创 2019-03-12 16:05:34 · 165 阅读 · 0 评论 -
技术杂记之:vi使用入门
对于Linux的初次使用者来说,进入Linux非图形界面后,不知道怎么创建文本(甚至于在图形界面,也找不到创建文本的菜单)。其实,每一个Linux的发行版本,都包含了一个最简单、也是最基础的文本编辑器:vi(Visual Interface)。 其实,想要创建文本文件,很简单,只要在终端中输入:vi myfile.txt就可以了。注意了,包括想要创建java文件,...原创 2019-05-05 15:29:30 · 397 阅读 · 0 评论 -
Java全栈程序员之09:IDEA+GitHub
GitHub是源码托管站点,其依赖于Git这个源码管理工具来进行代码的托管。所以将我们的代码托管到GitHub之前,我们需要安装Git。1.Git安装 可以通过输入git命令来确定是否在本机已经安装了Git,如下。 如果发现没有安装,在Ubuntu上可以通过命令:sudo apt-get install git来进行安装,如下:...原创 2019-04-15 15:48:43 · 297 阅读 · 0 评论 -
SpringCloud无废话入门04:Hystrix熔断器及监控
1.断路器(Circuit Breaker)模式 在上文中,我们人为停掉了一个provider,在实际的生产环境中,因为意外某个服务down掉,甚至某一层服务down掉也是会是有发生的。一旦发生这种情况,我们需要将损失减少到最低限度。 那怎么减少损失。在电力系统中,如果某个电器发生过载等问题,该段电路的继电器中的保险丝就会熔断。在分布式系统中,我们也可以设计这样...原创 2019-03-28 16:05:58 · 243 阅读 · 0 评论 -
SpringCloud无废话入门03:Feign声明式服务调用
1.Feign概述 在上一篇的HelloService这个类中,我们有这样一行代码: return restTemplate.getForObject("http://hello-service/hello",String.class); 对于代码有一定洁癖的你来说,一定感觉到了,这个url应该是可以被配置的。既然说到配置,那我们首先想到的就是...原创 2019-03-27 16:38:10 · 161 阅读 · 0 评论 -
SpringCloud无废话入门02:Ribbon负载均衡
1.白话负载均衡 在上一篇的介绍中,我们创建了两个一模一样的服务提供者:Provider1和Provider2,然后它们提供的服务也一模一样,都叫Hello-Service。为什么一样的服务我们要部署两遍?其实理由很简单: 比如,在一个电商网站中,一开始的时候,用户并没有那么多,我们只需要把网站部署在一台服务器上就可以了。但是随着用户量越来越大,一台服务器就再也...原创 2019-03-26 15:13:37 · 121 阅读 · 0 评论 -
SpringCloud无废话入门05:Spring Cloud Gateway路由、filter、熔断
1.什么是路由网关 截至目前为止的例子中,我们创建了一个service,叫做:HelloService,然后我们把它部署到了两台服务器(即提供了两个provider),然后我们又使用ribbon将其做了负载均衡。目前为止这一切都看上运作的很好,我们通过地址访问地址http://localhost:9291/hello,实际是路由到了http://localhost:9191/he...原创 2019-03-29 15:53:42 · 450 阅读 · 0 评论 -
SpringCloud无废话入门01:最简SpringCloud应用
1.创建Parent Parent很简单,创建一个空的maven项目,pom如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS...原创 2019-03-25 16:08:54 · 162 阅读 · 0 评论 -
SpringBoot无废话入门01:最简SpringBoot应用
虽然本篇讲的是一个最简的SpringBoot应用,但是要说明的是:学习SpringBoot是有门槛的,这个门槛就是, 1:首先得有框架的基础,比如SSM; 2:MAVEN基础。 在学好上面两者的基础上,我们才能明白SpringBoot干了一件什么事情,以及它是怎么帮我们组织项目结构的。 我们假设你对于上面两者的...原创 2019-03-13 15:47:28 · 276 阅读 · 0 评论 -
为什么大多公司不要培训班出来的JAVA程序员?
经常听到这样的观点:很多公司不招聘培训班出来的学生。甚至于让人感觉,如果你参加过培训,那简直就是你程序员职业生涯中的一大污点。 撸码J总结了这些公司不要培训班学生的理由:一:简历造假 网上有大量的帖子揭露了培训机构指导学员简历造假的情况。这在目前更多的是一个行业自律的问题。说白了就是说,这是一个道德问题。当机构鼓励你造假,当你们一个班里大部分...原创 2019-02-22 16:21:43 · 12594 阅读 · 43 评论 -
Java全栈程序员之05:Ubuntu下安装TOMCAT、集成到IDEA
使用idea绝不是开发一个Hello World这么简单,现在我们要使用idea进行企业级开发(也就是JavaEE)的准备了,那么首先,我们就得有一个web应用服务器。选什么呢?当然首选是大名鼎鼎的TOMCAT了。今天我们要完成JSP+Servlet+MYSQL开发环境的搭建完成。1.TOMCAT的安装首先,让我们去官网下载tomcat的安装包,http://tomcat.apache...原创 2019-02-16 16:31:16 · 189 阅读 · 0 评论 -
学员会诊之01:那些典型的面向对象错误
我原本不想用“错误”二字。因为错误显得太严重了,并且,软件编码本身就没有对错,只要你把功能实现了,剩下的就是思想流派的分歧。但这里仍旧想用“错误”两个字,因为本篇诊断所涉及的那些问题基本已经属于当前软件开发规则中的普适需要避免的。 注意,被诊断的学员并不是学的差的学员,相反,他有可能是学的很好的那一个,今天要诊断的刘同学,就是这样的一位同学。刘同学来到最课程...原创 2018-08-21 17:15:51 · 153 阅读 · 0 评论 -
Java全栈程序员之02:Ubuntu下Java环境安装、配置、测试
在上文讲完之后,我们手里的ubuntu只能算是一个上网机,什么也干不了,本篇我们将折腾它为开发机。这里,我们这里假定你对linux体系是初级选手,所以本篇会讲的啰嗦一点,高手就出门左转吧。1.安装 首先我们确定下我们安装的Ubuntu系统是否已经安装了java环境。 进入终端,敲入命令su,进入root模式(当然也可以省掉这一步),敲入命...原创 2018-08-31 15:07:37 · 493 阅读 · 0 评论 -
最课程阶段大作业03:用半天实现淘宝首页?
每一个在最课程学习的学生,到了最后几乎都会来问我一个问题:老师,是不是实际的开发中,都会有一个前端开发工程师,把静态页面做好了,然后才交给我们后台开发啊? 我只能说:你想多了。 我知道你这么问的意思,HTML+CSS+各类前端框架学习起来太繁琐了,是不是就没有必要放大的力气学习了?因为反正有人会帮我们做的。 我再次说...原创 2018-08-20 17:17:07 · 496 阅读 · 0 评论 -
最课程阶段大作业02:实现自己的利息计算器
上文描述了版本控制后,此篇才真正到了作业本身。我们第一次大作业要完成的是一个利息计算器。 利息计算器或者说融资计算器有自己的图形化版本,每一个学习的同学如果想要直观的了解下功能,可以管自己的老师要或者加文末的QQ群向老师索取。不过我们今天要实现的是非图形化的界面,是CS版本的,简而言之就是你要利用自己在SE阶段学到的知识,实现一个在console下的利息计算器...原创 2018-08-10 14:36:16 · 353 阅读 · 0 评论 -
最课程阶段大作业之01:使用SVN实现版本控制
版本控制在友军那里都是放在整个培训的最后阶段才开始讲的,但我们打算放到SE阶段。与其匆匆在项目实战阶段弄个半生不熟,然后进入实际工作中接受他人对你的怀疑,不如……早死早超生~~~。 可是,我们毕竟现在才刚学了Java一个月,代码都写的不溜呢,甚至都不知道目前掌握的知识能做点撒实际有用的工作,怎么就来个版本控制?版本控制是撒? 抄一段百科...原创 2018-08-10 14:09:46 · 417 阅读 · 0 评论 -
Java全栈程序员之01:做个Linux下的程序猿
Windows10正在成为史上口碑最差的Windows系统(图侵删) 我曾经花了数次1小时去寻找解决方案去关闭自动更新,包括停掉服务、修改注册表等等。但是都没有成功。 微软自身是知道这个问题的,但就跟过去几年的很多微软的技术框架一样,我就是一意孤行,你能把我怎么的。(贴在微软总部食堂的一张图片) 很多跟我...原创 2018-08-10 13:58:51 · 414 阅读 · 0 评论 -
Java代码质量改进之:使用ThreadLocal维护线程内部变量
在上文中,《Java代码质量改进之:同步对象的选择》,我们提出了一个场景:火车站有3个售票窗口,同时在售一趟列车的100个座位。我们通过锁定一个靠谱的同步对象,完成了上面的功能。 现在,让我们反过来,每个窗口负责一趟车。比如一号窗口就卖1号列车的票,二号窗口就卖2号列车的票。不过它们需要同时开始卖票。 一:ThreadLocal的最简应用 ...原创 2018-08-10 11:18:57 · 205 阅读 · 0 评论 -
Java代码质量改进之:同步对象的选择
在Java中,让线程同步的一种方式是使用synchronized关键字,它可以被用来修饰一段代码块,如下: 当synchronized被用来修饰代码块的时候表示,如果有多个线程正在执行这段代码块,那么需要等到其中一个线程执行完毕,第二个线程才会再执行它。但是!如果被锁的同步对象没有被正确选择的话,上面的结论是不正确的哦。 到底什么样的...原创 2018-08-09 11:21:20 · 257 阅读 · 0 评论 -
项目实战:闲话支付与转账
对于未知,一般来说我们有两种心理:恐惧,或者崇拜。 恐惧如小时候,我去河里游泳,对于望不见底,黑漆漆、凉飕飕的河水,心中充满了各种可怕的想法。 崇拜如长大后,对于瑞士银行的软件系统,觉得一定是最顶尖掰的程序猿开发的,直到我发现了我同事的秘密(关于这个梗,咱们改天当面聊)。 所以如果你跟当年的我一样,也处于初学者或者刚进入...原创 2018-08-24 17:48:53 · 374 阅读 · 0 评论 -
Java全栈程序员之03:Ubuntu下安装idea
JetBrains的产品我曾经用过很长一段时间,它们是resharper和dotcover。VS号称宇宙最强IDE,直到它遇到了resharper,我们才知道,原来vs可以更好。DotCover是一个计算代码覆盖率的工具,过去,我们为了应付QA的检查,与DotCover成了最好的朋友。 我有一段时间(其实也包括现在),特别的精分,白天Java,晚上C#,隔几天可能...原创 2018-09-01 14:58:53 · 401 阅读 · 0 评论 -
最课程阶段大作业06:U度节能平台控制系统
除了互联网项目,当今社会还有一个概念非常流行,那就是:物联网。什么是物联网?物联网是通过传感设备,按约定的协议,把任意物品与互联网相连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络概念。物联网是互联网的一种延伸,将原本用户与用户的交互,延伸和扩展到物品与物品之间。有同学说:老师,我要开发互联网。我说:滚!物联网就是互联网。大家都知道我是一个米粉。小米是基于物联网做着...原创 2018-11-10 17:03:08 · 251 阅读 · 0 评论 -
最课程站点使用手记
很多年以前,我厚颜无耻的跟蔡总说:我们这帮人如果不继续做ELearning系统,是对中国ELearning行业的一大损失……。果然,这么多年过去了,ELearning这个行业没有我跟蔡总,活的更好了! 我个人做过某国考系统,在某跨国企业中参与架构开发了ELearning全球内训平台,还和蔡总一起相依为命开发了一个“某博士”平台,在技术上踩过的坑不知道有多少。现在想...原创 2018-10-30 17:11:00 · 359 阅读 · 0 评论 -
学员会诊之04:你为什么找不到工作?
我有一段时间看到文同学和潘同学比较的窝火,明明学的也还不错,却老是跟我说找不到工作。 先说说文同学。文同学很有意思,刚毕业那会面试机会还蛮多,并且没两天还拿下一个offer:某个小软件公司让他去做架构师~~。当然他面试的职位是Java工程师,一下子没发挥好,吹的太厉害了,对方直接让他上来做架构师~~~。那他为什么没有去呢?按他说的,当时有点膨胀,工作找的这么顺利,...原创 2018-10-30 14:05:43 · 267 阅读 · 0 评论 -
Java全栈程序员之04:Ubuntu下安装MySQL、注册服务及Navcat
在安装MySQL之前,我们先来介绍一下Ubuntu下软件的安装方式。首先回顾下,我们安装JDK,使用的是后缀名为tar.gz的安装包。安装idea,使用的是tar.gz;那有没有别的安装方式呢? 1.安装方式介绍 Linux系的软件包格式主要有:rpm、deb、tar.gz; rpm:主要在红帽LINUX、SUSE、Fedora下安装,在...原创 2018-10-10 16:38:25 · 417 阅读 · 0 评论 -
学员会诊之03:你那惨不忍睹的三层架构
最近检查作业,虽然我们反复强调三层架构就是:表示层、业务逻辑层、数据访问层,每个层只做自己应该做的事情,但是,部分同学的作业还是不理想啊~~~ 你以为的三层架构是这样的: 而实际上你的三层架构是这样的: 如果我们尚不能完全了解把握各个层的边界,那么我们首先仅需要记住下面两句话: 1:除了UI层,任何其它...原创 2018-09-21 16:23:29 · 256 阅读 · 0 评论 -
学员会诊之02:SVN协作以及Page类的设计
三层架构的学生管理系统是我们第一个稍微大型的项目:分层、一个解决方案多个Project,所以值得我们停下来好好审查审查。1.测试SVN服务器地址 我们的作业要求学员创建自己的SVN服务器,并且将代码commit上去,然后讲师进行批改是从源码服务器上获取代码,继而review。这非常类似于敏捷开发中的同行审查。在企业中,我们一般也是这样做代码审查的。 ...原创 2018-09-14 14:49:23 · 332 阅读 · 0 评论 -
最课程阶段大作业05:污水处理系统以及百度地图
吃着火锅唱着歌,我们的课程已经进行了两个月了,现在,我们终于有能力进行真正的软件开发了。往期学完课程面试归来的同学,都知道有一句话:“面试造航母,实际工作拧螺丝钉”。很庆幸的是,到目前为止,你已经掌握了大部分拧螺丝钉需要的知识了,这些知识就是:JavaSE+HTML+CSS+JavaScript+JQuery+EasyUI+MySQL。十多年前,我们70后就是用这样的技术开发了一个又一个项...原创 2018-09-13 15:06:16 · 290 阅读 · 0 评论 -
最课程阶段大作业04:毫无用处的学生管理系统
前面几期就业班学生知道,我在做简历指导时说过:如果你的简历中项目经历写的是“学生管理系统”、“**办公自动化”这样的系统,那么就等于告诉面试官:你没有项目经验。 对于面试找工作,学生管理系统这样的项目简直毫无用处,甚至是减分项。如果你一定要说你实现了一个NB的学生管理系统,那么就需要拿出你在GITHUB上的源码来,并对面试官说:我已经把它做成了一个框架,以后所有的...原创 2018-09-12 12:07:39 · 583 阅读 · 0 评论 -
技术杂记之:在阿里云centos7上部署JDK MYSQL TOMCAT
今日小编闲来无事,乘着公司新项目即将上线之际,在阿里云上整了一台centos作为测试机。原本以为一个小时搞定,结果还是花了一点小小时间。不管怎么说,记录下来,给各位小白当成课后甜点吧。价格 先上价格,809.4RMB。 这个价格也就是一顿大餐的事情,BUT,作为程序员的你,未来的一年这台机器都是属于你的了哦。当然,配置低是低了点,但是好歹...原创 2019-05-17 15:30:31 · 280 阅读 · 0 评论