精华内容
下载资源
问答
  • 作者:小傅哥 ... 沉淀、分享、成长,让自己和他人都能有所收获!???? ...20万代码写完,毕业了找一份工作不是问题!...大学四年其实有足够的时间让你学会编程,也能一个较长时间的学习中,知道自己适合不适合做程序员。


    作者:小傅哥
    博客:https://bugstack.cn

    沉淀、分享、成长,让自己和他人都能有所收获!😄

    一、前言

    20万行代码写完,毕业了找一份工作不是问题!

    刚一毕业因为找不到工作,就得报名去参加Java培训的大有人在。并不是说参加培训就不好,只不过以你现在这个毕业的时间点参加,就会显得特别匆忙。因为你的压力既来自于培训还需要花家里一笔不小的费用,也有同班同学已经找到一份不错的工作开始赚钱的比对。

    大学四年其实有足够的时间让你学会编程,也能从一个较长时间的学习中,知道自己适合不适合做程序员。就像我的同学里虽然都是计算机或者软件工程专业,但毕业后并没有都从事软件开发工作,或者从事了一段时间发现并不适合这个行业而选择到其他领域发展。

    所以如果你是真的喜欢编程,那么在这个行业里工作你会很开心,如果不是那么往后路还长,你所要面对的晋升加薪跳槽都可能成为一道道障碍。目前可能你还是新人不了解自己是否喜欢编程开发,那么可以在以后的学习中体会,自己是否愿意为一个运行结果调来调去,辗转不寐的研究分析,只为最后那一个运行通过而激动!

    当你可以在激动和开心中写完20万行代码,对于毕业后的求职找工作来说几乎可以叫你一声面霸,也可能你在实习时就被公司直接留下,这是个人才组织需要你!

    20万行代码看上去很多,但放在4年的大学学习中并不会有多难。平均每天200行,一个月是6000行,一年算10个月是6万行,三年就有18万行。这20万行代码会把你从一个编程小白,带入到熟练使用Java相关API,也能给你带入到初级工程师的水平。

    初学编程你可能想把一句代码完整敲下来都不容易,就更不用说运行出结果了。因此此时你的大脑和手还并不能迅速理解你眼睛里看到的这一行行代码都是啥,要干啥。这就像新买回来的钢琴手指头上去摸肯定是生硬的,敲出的声音也不连贯。这个阶段只能是照着例子大量的写,度过一个熟练期才能更好的学习。

    为了可以让更多的小伙伴理解这件事,我会从我的在校培训外包跳槽阶段成长以及找什么样的工作分享给大家作为参考,最后再把我整理出资料一并分享给大家。

    二、经历

    12年10月25日,在CSDN发的一个帖子 拿到两个offer,一个7k,一个转正税后4.5k。求意见! 距离现在它已经过去好久了,当时也是因为拿到了两份offer的选择纠结,所以发了个帖子求问。好气的是当时竟然不知道去面试面试互联网公司,信息太闭塞了,而且培训的地方并没有说过互联网一些公司的信息。

    讲一讲我这7k的经历;

    1. 12年07月,校企合作来北京昌平一个小县城的地方参加中软培训
    2. 12年10月,培训接近尾声,开始找工作,月薪7k的中软就是最后的选择的地方,放弃了在北航院内的国家科技
    3. 12年12月,虽然拿到中软Offer但迟迟不让入职,电话联系了很多次我说可以先去实习,但都说等通知。没办法,在北京也不可能就硬待着,回家的话也麻烦行李、住宿都得折腾,所以又面了一家中科软进去实习了三个月,赚点钱养活自己
    4. 13年03月,中软的通知终于来了,但竟然是参加岗前培训,又被培训了一次,当时特别讨厌培训,每次都是讲Java基础,差点生气怼老师
    5. 13年09月,在中软正式转正,也就是说培训完又是实习,7月份毕业后9月份才入职为正式员工,心里有点不爽,埋下了一个后续跳槽的种子。哪有实习这么久的!
    6. 15年04月,第一次有跳槽准备,毕竟写了两年的C#写够了,面试了第一家互联网公司,乐视致新,不过后来没去,被公司留了下来
    7. 15年08月,之前谈的留下来涨薪,但最后少涨了1千块钱。所以继续面试,还算顺利面了两家,最后在8月25日跳槽进互联网完成。

    以上整个过程就是我从学校实习找工作以及最后跳槽的一个阶段性经历,也有过在这条路上跌跌撞撞。就像;

    • 虽然我面到了中软管培生,但错失没选择要北京户口,而是要了400块房补
    • 在中软9月份从实习转正式员工,错过了第二年的入职满一年才涨薪的条件(但我觉得这个有点故意坑了)
    • 明明是学了那么多Java,但却写了两年C#,大家还是要选择自己喜欢的语言进行工作,否则会很麻烦
    • 提了离职,基本就不要想着再留下来,无论什么条件。哪怕钱和职位满足了,心里也有隔阂以及个人对没经历过事情的一个期许
    • 从传统外包跳槽的互联网,并不那么容易,技术使用的不同、开发场景的不同、组织关系的不同,一切都可能是从一个较低的位置重新开始。你需要自身技术不错,也需要一个好人带
    • 但当时在的传统也有不错的点,比如可以5:30下班,带我的经理人很不错,公司也不那么累,有时候还可以出差溜达溜达。

    三、学习

    一个大学生会经历在校、实习、就业几个阶段,其中在校学习属于蓄力阶段,要学习很多知识才能支撑起来将来的实习和平稳就业。

    蓄力阶段的学习,主要是对编程技术的基础的夯实,以及多学习与数学相关的内容,比如;数据结构、算法逻辑,这些知识对将来在技术上的提升和造诣都是非常好的基石。下面就是整个大学过程中在编程学习过程中需要经历的阶段,如图;

    • 熟悉工具:初学编程后你大概会接触到一系列的研发工具,包括IDEA、Eclipse、Navicat、Maven、Git、Tortoise、SourceTree、Visio、Xmind等等,工具的熟练会让编程更流畅。
    • 编写代码:此时你需要大量写代码,写很多的代码,因为你几乎就是需要靠写代码把整个所学的编程语言熟练使用起来。总不能手生到写完 public,写不出来 class,这跟我不会弹钢琴一样,敲完了1,后面不知道要在哪找下一个音符♪了。
    • 功能开发:小的功能开发是综合锻炼技术使用的阶段,比如做一个计算器、求一个水仙数、从一篇html中摘取你要的信息等等。此段经历会解决你之前感觉学完技术没出用的痛苦,现在你可以想象出各种场景问题,之后用代码去处理。还可以帮助英语系的小师妹,把她需要背的单词从网站中爬取下来,汇总出各类热词、语句、摘要等
    • 项目开发:小功能练手后,接下来你就可以做做项目了。比如你常听到的图书管理系统、教师教学管理系统等等。如果觉得没有意思,你可以从哪里获取项目呢?从你用到的各类APP中,把这里用的功能简化,之后做一些项目开发。比如一个简单的商城、抽奖、全物流单号查询。另外你还可以在github中查找一些项目,去参考学习并自己动手实践。
    • 数据结构:可能初学编程并不会对数据结构有多少思考,也想象不到这类内容是用在哪的。但其实这类技术内容早已被你天天使用,例如:LinkedList、ArrayList、HashMap,这里就包括了数组链表队列散列表等各项数据结构,当你将来要开发一些较大型的互联网应用程序时,你所有的逻辑设计都会考虑到数据要如何存放,数据结构如何设计才能更合理的被程序使用。
    • 算法逻辑:学完数据结构接下来要做的就是对算法逻辑的学习,这里不仅仅是简单的刷题,而是在数据结构的上使用算法将数据更合理的存放和读取以及做相应的操作。就像你能逐步了解的;排序、二分、旋转、洗牌等等,以及将来还会在阅读JDK源码中会看到,扰动函数、负载因子、拉链寻址、开放寻址、哈希散列、除法散列法、平方散列法、斐波那契(Fibonacci)散列法等等。
    • 设计模式:当你开发了很多很多程序代码以后,你会逐步的思考怎么才能让这些代码有可复用性呢,怎么写才能让更多人读懂呢、怎么实现才能让再接需求时能更快的承接呢。这些都会随着你开始实习真正接触到公司级的代码开始逐步的感受到的,写代码不是一锤子买卖,也不是炫耀技术,当你有更宽的视野范围时,就会思考的更多。这里推荐阅读《重学Java设计模式》 这是一本基于互联网真实案例编写的Java设计模式实践图书。全书以解决方案为核心,从实际开发业务中抽离出交易、营销、规则引擎、中间件、框架源码等22个真实场景,对设计模式进行全面、彻底的分析。帮助读者灵活地使用各种设计模式,从容应对复杂变化的业务需求,编写出易维护、可扩展的代码结构。

    以我个人经历和经验来看,想搞定这些学习范围和内容,最大的动力是来自于对编程的热爱和折腾。就像我这样做过很多土项目,如下;

    • 串口通信、在线考试、考试抽题、彩礼管理、成绩管理、即时聊天、计算器还有后来折腾过的仿微信聊天,这些项目都可以不断的夯实个人的技术能力,每一次做新的一个项目都会把之前所遇到的问题,又考虑新的实现方式再折腾一遍。
    • 编程的学习中重要的并不是结果,而是在这个过程中经历了什么。哪怕是犯了很多的错也没关系,因为每一次犯错都是学习的机会,都可以找到更多的资料,每一个资料里又可能教会你其他的知识。

    四、就业

    不只是我,可能很多在上学阶段并不知道都是做Java开发,就业的企业也分为传统行业、国企、半国企、外包、外企、互联网等这么多类型,尤其是我这样在13年毕业的时候,既没有所谓的就业指导,也没有有经验的朋友了解,就只能跟着大家走。好在现在大家可以在互联网中获取到这些信息,也就能早早的帮助毕业同学进行择业。

    1. 传统行业

    • 难度:⭐⭐
    • 公司:金蝶、用友
    • 发展:在传统行业方面有较强的技术积累和产品沉淀,一般其他公司也都有传统行业研发的产品。另外现在的传统行业逐步包括了互联网的领域开发以及技术使用,只不过会比纯互联网少一些高并发场景,因为大部分这类软件面对的并不是C端人群。所以个人进入此类公司会相对比较稳定,但如果后期想再跳槽比较麻烦,会出现技术断层。

    2. 国企&半国企

    • 难度:⭐⭐⭐
    • 公司:联想、京东方、中软国际、国家电网
    • 发展:早前应届生入职国企或者半国企一般会有解决北京户口,但现在可能名额不断的减少了。像中软有一部分自己做的东西,也有一部分是承接外包的内容。此类公司做的工作内容可能比较单一,有时候一个项目会用很多年,但同时可能不会太忙,有一些自己的时间,并且像联想、国家电网福利待遇也都不错。

    3. 外包

    • 难度:⭐⭐⭐
    • 公司:对日外包、企业外包
    • 发展:像是在大连会有一些专门的对日外包企业,还可能需要长期在日本出差。我的两个同学上学时候日语都学的不错,现在一直在日本工作,就他们来说挺习惯在外面的生活了。还有一部分外包是企业外包,比如你入职一个外包公司,可能会把你这个人外派给华为、腾讯、阿里等公司,开发他们外包出来的工作,此类工作一般相对来说短期、非核心。但干的好的也有转正机会,直接入职大厂,不过比较难。而且外包到企业里的人员,没有正式员工的待遇

    4. 外企

    • 难度:⭐⭐⭐⭐
    • 公司:亚马逊、谷歌、微软
    • 发展:外企工作还是挺香的,相对来说没有那么强的加班,福利待遇也比较不错。例如像这类的公司会明确写上不加班,以及各种假期和旅游。但可能是近几年被国内互联网挤压的,也有一些在国内的外企有裁员的动作。

    5. 互联网

    • 难度:⭐⭐⭐⭐⭐
    • 公司:百度、阿里、腾讯、字节、京东、美团、滴滴等等
    • 发展:这类公司在北上广就多了去了,虽然多但面试难度仍然不低,尤其是现在内卷的情况下,需要你会很多知识以及数据结构或者刷算法,才可能找到一份不错的工作。此类的公司的薪资待遇不错,每年都水涨船高,可能一个刚毕业的重点大学,大学生,入职的薪资就要倒挂各类老员工了。除了有少许的内卷,其他的还是挺不错的。

    6. 出国

    • 难度:⭐⭐⭐⭐⭐
    • 公司:加拿大的 shopee、美国的脸书、谷歌、苹果等等
    • 发展:如果喜欢国外的生活,又有出去的本事,那也是一个非常好的选择。像小傅哥熟悉的一个北大的伙伴,入职到了加拿大的 shopee,收入以及整个生活节奏对他来说还是非常满意的。

    以上就是各类公司的一个简单介绍,每一个人就业时都会有自己的选择,比如想安稳些、想要户口、想要高工资、想不那么加班等等,只要你能对自己的选择负责,合理规划好自己的职业发展,那么就可以了。

    五、资料

    1. 技术内容

    其实现在互联网的文档、资料、书籍、视频都已经很多了,但也可能正因为太多了,让初学编程的人找不到所处阶段,大一、大二、大三、大四以及毕业了工作了几年后,都应该找什么样的资料学习。

    所以我这里把各类资料进行整合,按照不同阶段的学习范围把资料分到不同的文件夹去,方便所处不同阶段的读者可以有一个相对准确的学习范围。

    2. 实战内容

    如果你已经跨过了初级阶段,需要做一些实践型的项目,可以关注下我的Github,如下:

    • 内容:本代码库是作者小傅哥多年从事一线互联网Java开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。这部分资料也是我所写博客中实践项目的源码,在这里你可以学到Netty、字节码编程、设计模式、领域驱动设计、规则引擎、面试、架构以及职场经历的分享。
    • 地址https://github.com/fuzhengwei/CodeGuide/wiki

    六、总结

    • 如果一个大学生不怎么关注技术博客,也不知道有哪些技术博客,那么大概率你基本不会了解到你要学什么技术,也没有渠道可以让你拓展自己的知识面。并且尤其是在现在的软件基于人群喜好推荐下,你知道的越少的东西,就越少知道这个东西。所以主动有意识的学习,几乎是你个人成长最快的方式。
    • 做一件事,就把一件事做好!认认真真的长期坚持下来,你会在所走的路上收获很多,千万不要急于求成,否则你能获得的只是微乎其微。当你有一天真的要拿手里的这几张牌,出去闯荡的时候,会被人家炸哭。
    • 另外在大学里进来不要去做一些不会给自身带来长久价值的兼职工作,如果你真的缺那份钱另说,否则尽可能把这些时间用在你将来要找的工作所需的知识学习上。时间不多,做有价值的事更有益个人成长。
    • 酒香不怕巷子深,放在现在是几乎就是不可能的。因为酒不在是你一家酒了,谁能曝光的更多,宣传的更足,展示的更好,谁就更有机会可能成为佼佼者。否则站在台上那个不一定比你强的人,却可能比你过的更好。

    七、系列推荐

    展开全文
  • 最近在看KAFKA,看到这样一代码,对于宏定义的 __sync_ 不知道是什么意思?网上也没有找到什么解释,不知道有没有朋友知道的? C/C++ code // atomic_64 #define ATOMIC_OP(OP1,OP2,PTR,VAL) __sync_ ## OP1 ## ...
  • 程序员你必须知道的职场潜规则,助你一路高升!!

    一、开门见山

    有一天吃午饭,我和我的同事兼好友,一边吃饭一边聊天八卦,说到:有一个部门的领导技术一般,项目上的很多事情问他,他也不知道,不知道为什么能当上经理,难道就是靠着自己在公司的工作年限久?

    这个问题后来我思考了好久,也困扰了我好久,有一个阶段,甚至有点讨厌这个人,有项目上的事情问他,也不能很好的解决,不像和某些同事合作起来那么的舒服,谈笑之间就能把事情解决了。

    又是一个中午,和我一个年长的朋友一起吃饭,他在一个上市公司做技术总监,我把我的困惑讲给他听,他笑了笑,对我说:很多事情,存在即合理,它既然存在,就一定有它的道理,你可能现在还无法理解。

    他又拍了拍我的肩膀告诉我,其实啊,职场上有一些不成文的“潜规则”,很多人掌握了它,职场上游刃有余,升官加爵;有一些人故步自封,不掌握规则,不遵守规则,自然混的不行。听完我顿时豁然开朗。

    在这里插入图片描述
    如果你是初出茅庐的职场新人和已经工作3~5年,工作却一直不如意的职场老鸟,下面的内容可以看一看。


    二、初出茅庐

    1. 融入新环境

    职场新人,是从学生转变到企业员工,企业招应届毕业生的主要原因有如下几个:便宜,听话,能加班,创造力强。

    在学校,有老师教;而在企业里,有人教是幸运的,没人教才是正常现象,所以如何快速融入新环境,有如下几点:

    1.多问

    不要羞于表达,老想着说:“这么简单的问题我能不能问啊,其实你经历的这些东西,你的领导可能都已经经历过”,切记不要什么问题上来就问,这是大忌,有些问题在你思考百度过,确实不懂,可以问,问的时候加上自己的思考,这是比较好的方式。

    2.闭环思维

    刚来公司的新人,部门领导可能每天分配一点任务,如解点简单的bug,闭环思维的意思是:领导安排的任务,在完成之后,相关结果要及时反馈给主管,包括你做了哪些,进度到哪里,存在哪些问题。提高主观能动性,千万不要等着领导亲自过问,也不要有:他可能知道我在做什么吧的想法。

    3.多学

    初入职场的新人,能力和经验并不具备竞争力,同一批新人,你如何更突出呢?会发现有些人进步神速,很快上手做项目,而有些人还停留在初步阶段,这是学习的重要性,多加班,多学,先苦后甜,延迟享受。

    2. 坏印象?好印象!

    力争给同事留下一个好印象

    公司同事A对B说:“新来的同事C很不错啊,解BUG速度很快,最近几次提交的代码质量都很高,注释也很清楚,严格按照公司的代码规范来。新来的D不懂装懂,1个星期了1个BUG都还没解决,代码没有review就提交了。”

    这样的对话,我相信在很多公司天天会发生,你的一举一动领导和同事都看在眼里,等到升职加薪,经理肯定会更多地考虑C而不是D。

    我们知道好印象需要长时间建立,坏印象一次就能形成,给别人留下好印象在职场中非常重要。

    在这里插入图片描述

    让别人对你竖大拇指

    3. 责任与习惯

    【1】敢于承担责任

    当学生可以不承担责任,做职场人却不能推卸责任。当学生的时候,即使已经成年,家长,老师,包括其他人仍会把你视作孩子。很多职场新人害怕承担后果,害怕犯错,对于职场新人来说,不要惧怕犯错,不然畏手畏脚,你现在不犯错,难道等到工作5年后再犯错,那时候相信没人会原谅你。遇到事情更不要说:这个我不知道,这个不归我管,尝试着多付出,多帮助他人,很多东西都是相互的。俗话说得好,能力越大,责任越大。

    【2】养成好的习惯

    • 准备一个笔记本,开会等场合,随时记录。
    • 勤于归纳,归纳会让你对知识点了解更全面,更透彻,及时发现自己缺失的知识点。
    • 每天下班之前作总结。(博主工作了4年,笔记本差不多记录了10本左右,很多知识点,长时间不看,就忘记了,翻翻笔记本还能回忆起来。)

    4. 不懂装懂?

    职场新人切记不要不懂装懂 ,公司对新人的宽限度较大,新人的目的就是快速学习并成长,尽快融入公司的工作岗位中,切记不要有不懂装懂的心态,会给自己大大降分,令人生厌。


    三、职场老鸟

    职场如战场,这句话不仅仅是对于职场新人适用,对于很多工作3~5年进入职业发展瓶颈期的同学一样适用。

    1. 埋头苦干?

    90%的程序员都属于埋头苦干型,有一部分优秀的程序员在埋头苦干的同时,还会抽出一部分时间进行思考总结,很难能可贵,因为不能只顾低头拉车,也要注意抬头看路,否则走错了方向,那将会是背道而驰。

    优秀的程序员除了技术能力强外,还会定期回顾,思考未来,关注行业动向,不断学习新技术,保持良好的技术敏锐度。和优秀的程序员聊天,你会发现,谈吐非凡,逻辑清晰,对行业动态了如指掌,这些当然都是需要利用业余时间进行学习充电的。

    在这里插入图片描述

    2. 故步自封?

    程序员的出路大致有两条,一条是成为技术专家,一条是转管理方向,一些程序员固步自封,不学习,一年的工作经验用10年。那除了提高自己的技术能力外,我们还需要掌握哪些技能?为了这两条路还需要准备哪些?

    在这里插入图片描述

    • 拓宽自己的视界,不局限于自己专业领域的圈子,主动接触身边各个领域里的牛人,保持开放学习的心态。
    • 提升英语能力,如果你想进更大的平台,英语能力很重要,尤其是一些外企。
    • 快速学习能力,技术的更新迭代虽然不是很快,但需要不断学习新知识,构建自己的知识体系网络。
    • 提高协调沟通能力,不管是技术部门经理,还是纯管理者,协调沟通能力可以说非常重要。
    • 提高逻辑思维能力和表达能力,很多程序员是宅男,不愿意说话,当一个领导者或管理者,这点是必须要改变的。
    • 身体是革命的本钱,勤加锻炼,程序员猝死的新闻也经常报道。

    3. 多尝试,全面开花

    薪水并不是全部

    很多程序员出生农村,家庭条件不好,随着年纪的增大,会出现上有老,下有小的局面,一份稳定的月薪并不能养家糊口,车贷房贷更是压得喘不过气,更别说轻易辞职。但是我们纵观有的程序员小日子过得很舒服,因为他们除了自己的主业外,都有副业,并且副业收入可能比主业更高,副业的边际成本更低,花费时间更短,比如我:

    • 写技术博客 提升自己的技术能力,结交好友,提升影响力,会有人约出书,写技术文章等,前段时间有公众号约文章,写推文,挣了点零花钱,并且认识了各路大神(sowhat小麦大叔扬帆向海第三女神程忆难程序猿学社)等。
    • 兼职网站 我会在一些网站上传一些方案,有人买,就有收益,现在很多这种形式,像CSDN的收费专栏,而且这些收益的边际成本很低,不用维护,有人订阅就有收入。

    在这里插入图片描述

    • 经营微信公众号 接广告恰饭一个月多的也能挣上千块,微信公众号推广比较难,如果你的技术文章质量高,自然关注你的不会少,所以不断学习,提高技术能力显得尤其重要。
    • 跳槽 很多人安于现状,不想动也不愿意动,如果你对现在的公司不满意,可以尝试跳槽,换一个新环境,原有公司涨薪幅度是有限的。跳槽去往更好的平台,待遇可能会更好,另外面试也能及时发现自己的不足。切记不要频繁跳槽,否则会让人觉得你不踏实,不稳重,心浮气躁。

    在这里插入图片描述

    用金钱蒙蔽双眼

    四、30岁程序员的焦虑

    百度搜索30岁程序员,会出现诸如:30岁程序员如何寻找出路,30岁程序员失业了,程序员到了30岁迷茫的越来越多,从这些话题看,现在30岁的程序员貌似都有点焦虑。

    在这里插入图片描述

    30岁程序员的焦虑

    30岁就开始焦虑,而我想说的是:男人三十而立,四十而不惑,三十岁才是事业的快速发展阶段,上升阶段。程序员30岁,不该是结束,而应该是更好的开始!

    • 30岁之前,马云还不知道互联网为何物。
    • 30岁的时候,王健林还在当兵,赚1个亿,对他来说,可能想都没想过。
    • 屈原50岁才赋离骚,达到他文学的巅峰成就。
    • 吴承恩82岁去世前,才将《西游记》写完。
    • 57岁的齐白石在北京靠卖画为生,鲜有人买;他66岁遇伯乐徐悲鸿赏识,才从此出名,那一年,他66岁
    • 雷军41岁创办小米。
    • 哈兰·山德士65岁成立肯德基。
    • 罗永浩47岁创办锤子科技失败,4月1日起将直播卖货。
      。。。。

    在这里插入图片描述
    多一点不为什么的坚持,当初选择程序员这一行,一方面是待遇还不错,可以给家人提供好的生活,另一方面是热爱,享受代码敲出来的成就感,程序员的快乐其实很简单。因为相信,所以看到,世界终究属于乐观主义者。


    永远相信美好的事情即将发生!作者记得诚,写于安徽合肥,时间2020-03-31 PM22:54

    展开全文
  • 什么意思呢,意思就是我们需要提供一个java服务,但是呢,我们这个java服务用到的mysql和redis没有现成的,需要由这个java服务去安装部署mysql和redis,然后再提供给自己用。       &...

    产品与开发的战争

           前段时间,产品提了个挺离谱的需求:通过java服务启动自己所需要的数据库和redis。什么意思呢,意思就是我们需要提供一个java服务,但是呢,我们这个java服务用到的mysql和redis没有现成的,需要由这个java服务去安装部署mysql和redis,然后再提供给自己用。
           emmmm…当时我人就傻了,后面我一想,产品都敢想这个需求,难到我堂堂一个技术还不敢去实现吗?

    收起我们40米大砍刀,直接上干货:

    java调用shell脚本

    public static String doExec(String instruction) {
        logger.log(Level.INFO, "===execute instruction :" + instruction);
        StringBuffer result = new StringBuffer();
        Process process = null;
        BufferedReader bufrIn = null;
        BufferedReader bufrError = null;
        try {
            Runtime run = Runtime.getRuntime();
            process = run.exec(instruction);
    
            // 方法阻塞, 等待命令执行完成(成功会返回0)
            process.waitFor();
    
            bufrIn = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8"));
            bufrError = new BufferedReader(new InputStreamReader(process.getErrorStream(), "UTF-8"));
            // 读取输出
            String line;
            while ((line = bufrIn.readLine()) != null) {
                result.append(line).append('\n');
            }
            while ((line = bufrError.readLine()) != null) {
                result.append(line).append('\n');
            }
            logger.log(Level.INFO, "===execute instruction success :" + instruction+" , result is :"+result);
        } catch (Exception e) {
            logger.log(Level.WARNING, "===execute instruction error :" + e);
        } finally {
            MyFileUtils.closeStream(bufrIn);
            MyFileUtils.closeStream(bufrError);
            // 销毁子进程
            if (process != null) {
                process.destroy();
            }
        }
        return result.toString();
    }
    

    当然,这个方法不单单局限于安装部署mysql和redis,支持任意sh命令,感兴趣的朋友可以拿去试试了!

    >>>源码下载链接>>>

    展开全文
  • scope.$index→拿到每一的index scope.$row→拿到每一的数据

    scope.$index→拿到每一行的index

    scope.$row→拿到每一行的数据

    展开全文
  • 面试官:你连RESTful都不知道我怎么敢要你?

    万次阅读 多人点赞 2019-11-06 00:33:54
    如果某个服务违反了其他任意一项准则,严格意思上不能称之为RESTful风格。 03 RESTful的7个最佳实践 1. 版本 如github开放平台 https://developer.github.com/v3/ 就是将版本放在url,简洁明了,这个只有用...
  • 如何跨学习前端?一个小白的跨之路~

    万次阅读 多人点赞 2019-04-13 14:55:17
    如何跨学习前端?一个小白的跨之路~此篇文章讲述了一个小白跨学习前端过程遇到的问题,以及是如何解决的。希望此篇文章能够帮助到更多的人。前端小白该如何入门?(先给大家分享**干货**最后在讲故事)*干货分享...
  • C语言中EOF什么意思

    万次阅读 多人点赞 2019-03-06 20:26:47
    在C语言中,或更精确地说成C标准函数库中表示文件结束符(end offile)。 在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件...举例:C语言,输入多组数据,每两个,然后对应每一个输出结...
  • 三思而后,真的就是我们应该奉行的准则吗?

    千次阅读 热门讨论 2019-03-25 07:21:48
    这段内容出自《论语 • 公冶长》,字面意思也不难理解。大致是:鲁国大夫季孙行父遇事三思而后。孔子得知这件事后说:“想两次就可以了。” “三思而后”,很多人都会把它当做褒义词。为什么呢?因为如果这个人...
  • shell 打印偶数奇数

    千次阅读 2015-09-08 12:30:19
    打印行号 awk '{print NR":"$0}'  打印偶数、奇数  (1) awk '{print $0 > NR%2}' file  (2) sed -n '1~2p' file  sed -n '2~2p' file  (3) sed -
  • AGI:走向通用人工智能的【生命学&哲学&科学】第一篇——生命、意识、五、易经、量子 经典的物理统一在原子上,量子的物理统一在量子上,化学统一在元素上,而生命统一在DNA上,DNA本身拆干了,其实就是一群元素,...
  • 可是如果有机会提前了解了你们的人生,知道青春也不过只有这些日子,不知你们是否还会在意那些世俗希望你们在意的事情。 愿你在被打击时,记起你的珍贵,抵抗恶意;愿你在迷茫时,坚信你的珍贵,爱你所爱,你所...
  • 没想到,这个程序员只用了20代码就拿了冠军

    万次阅读 多人点赞 2019-11-15 10:44:15
    知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 ...
  • 720P、1080P、4K是什么意思?

    万次阅读 多人点赞 2016-09-10 19:52:13
    定义上来看,像素是指基本原色素及其灰度的基本编码。  像素是构成数码影像的基本单元,通常以像素每英寸PPI(pixels per inch)为单位来表示影像分辨率的大小。 例如300x300PPI分辨率,即表示水平方向与垂直方向...
  • Android Context 上下文 你必须知道的一切

    万次阅读 多人点赞 2015-01-05 09:21:59
    大家可能会问到底什么是Context,Context字面意思上下文,或者叫做场景,也就是用户与操作系统操作的一个过程,比如你打电话,场景包括电话程序对应的界面,以及隐藏在背后的数据; 但是在程序的角度Context又是...
  • ’\n’ 匹配一个换符。序列 ‘\’ 匹配 “” 而 “(” 则匹配 “(”。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ‘\n’ 或 ‘\r’ 之后的位置。 $ 匹配输入字符串的...
  • $basearch $basearch什么意思呢?

    千次阅读 2015-04-09 17:21:41
    知道什么意思,往上看半天什么这什么那的 说的云里雾里,这里最笨的办法 看到 /etc/yum.conf里面 /var/cache/yum/$basearch/$releasever 这一没? 直接去 /var/cache/yum/目录下找,一般只有一个文件对应 ...
  • Python中reshape函数参数-1的意思?

    万次阅读 多人点赞 2018-07-14 09:52:41
    1、要记住,python默认是按取元素-1是模糊控制的意思 比如人reshape(-1,2)固定2列 多少知道结果:2、出错情况>>> a = np.array([[1,2,3], [4,5,6]]) >>> np....
  • excel 锁定第一

    千次阅读 2013-10-19 21:51:25
    问题: 在看国考信息的时候,下载职位表,因为列表项目太多,当滚动的时候不知道哪一栏什么意思。  如何锁定第一栏信息,当向下滚动的时候第一栏也能够显示。比较强大,这效果很有实际意义。 方法:选择第二第...
  • 就拿第二来说吧,需要实现地址超出宽度后省略号显示,然后还需要显示一个箭头。 那大体思路就是这样的了: 写完搞定:但是报错:RenderFlex children have non-zero flex but incoming width constraints are ...
  • 让人抓狂的换符LF和CRLF

    千次阅读 2020-08-12 12:19:15
    红框里的意思:内容上仅仅是换符的差异。 左边是上一版本,右边是当前版本(工作区的版本)。 左边的换符是 LF,右边换符是 CRLF。 下面依次几个问题: LF和CRLF是什么? 为什么代码里会出现这种diff? 如何...
  • 微信扫码赚钱是什么意思

    千次阅读 2016-04-29 10:09:04
     微信扫码赚钱是今年新流行的一个词,具体的微信扫码赚钱是什么意思,也没有一个完整的定义,大家只要理解微信扫描二维码就能赚钱就了。  微信扫码赚钱的方法有很多,而且有真有假。  为了让大家更好...
  • 网上甚至没有大面积的新闻报道,我是隔天才知道的这个消息。 在今年4月份华为P30系列的发布会上,华为首次对外公开了正在自主研发一款开源的统一编程平台,可以大幅提升Android应用程序在手机上的运行效率,称之为...
  • 在电脑Bios设置中,有一项“Secure Boot”相关设置,很多朋友不知道Secure Boot什么意思,也不知道该如何设置。下面本文就来谈谈Secure Boot设置相关的知识,需要的朋友可以参考下。 Secure Boot什么意思? ...
  • 知道的越多,不知道的越多

    千次阅读 热门讨论 2018-06-06 20:41:30
    知道得越多,圆圈也就越大,你不知道的也就越多。” 内容   为什么会有这种感想呢?前段时间在三合班老师的讲解,真的会触动自己。平时的学习我们只知道学习眼前的,固有的,所以我们的圆圈也就越来越大,而每...
  • ls -F | grep /$是什么意思

    万次阅读 2011-11-28 11:52:35
    今天在搜索一个东东的时候发现了这个标题,那么大家知道是什么意思吗? ls -F的意思是把文件按照类型归类,并且在末尾加上/ *等符号标识 | 管道输出,把前面命令的结果当做输入传给后面的命令 grep /$的意思是...
  • 这个对称是什么意思?即处理器与处理器的关系,在对称多处理架构中,处理器之间是相同等级的,所有处理器都可以访问相同的资源。与之相应的,非对称多处理架构,各处理器之间形成简单的主从设备关系,访问有限的资源...
  • 三个火一个木念什么,三个火一个木组成的燊怎么读,估计知道的人并不多。今天我们就来认识下燊这个汉字,告诉你三个火一个木念什么,三个火一个木组成的燊怎么读,以及燊是什么意思。  燊怎么读?  燊的读音是sh...
  • CSS行高——line-height 间距

    千次阅读 2016-02-24 14:59:28
    初入前端的时候觉得CSS知道display、position、float就可以在布局上游刃有余了,随着以后工作问题层出不穷,才逐渐了解到CSS并不是几个style属性那么简单,最近看了一些关于行高的知识,就此总结一下。 所谓行高...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 453,952
精华内容 181,580
关键字:

从知到行的意思