集合可以说是学习 Java 中最重要的一块知识点了,无论做任何业务系统,集合总是最为基础的那块 API。我第一次接触集合,是在我大三的时候,那时候去面试,面试官问我:你了解过集合吗?可惜那时候没什么项目经验,所以基本没有了解过,因此也错失了机会。
先道歉,最近忙着发paper(也可能是季后赛的事儿),又一不小心拖更一个月,实在抱歉。 良好的代码风格,是一个合格程序员最起码的素质。 我们经常听说,如何让自己代码更加清晰易懂,如何写出干净漂亮的代码。 合格的变量命名规范,简明的注释,整齐的缩进等等一堆描述,但是这种东西看起来实在是尴尬,枯燥不容易接受。那么换个角度,如何让别人看不懂你的代码,如何让你的代码只有你能维护,可能更容易理解吧~
看来如何写好代码还是一件很值得一说的事情。 关键思想: 人写代码是用来给别人读的,而不是给机器执行的。写代码就应该像写小说一样,让人读的轻松愉快。 软件的生命周期中,维护周期占1半以上,所以不看避免要有人来改动你的代码 你如果更换工作岗位,你的代码需要别人接手 如果你自己的代码,3天后自己都看不懂 牛人的代码总是让你爱不释手 写代码需要注意层次的一致性,不要芝麻和西瓜混在一起。 凳子,桌子,椅子,分子,床,你觉得那个不对 再举一个做菜的例子: 洗菜 切菜 倒油爆炒 油温慢慢的从10度上升到60C,油分子之间
编程这条路能走多远,能走多久,就看一点:你学不学的明白。想学明白,就得看你会不会学习,所以编程能干多久,你值多少钱,最终看你会不会学习。
由于字节流操作中文不是特别方便,所以,java就提供了转换流。 字符流=字节流+编码表
你可能已经迫不及待想安装Java,写个Java程序跑起来了。但是在这之前,有些概念需要提前了解,因为Java跟C、C++和Python都有点不一样。
没错,我不是技术,不懂这个。依葫芦画瓢的学习加固了。 生成了一个.apk的文件和一个.sign.apk的文件。 看路径说的是一个是加固apk,一个是签名apk文件。 我特么的不知道到底上传哪个到应用商店。求大神立马告诉我。 别跟说我技术,我看不懂任何代码。。 没错,我不是技术,不懂这个。依葫芦画瓢的学习加固了。 生成了一个.apk的文件和一个.sign.apk的文件。 看路径说的是一个是加固apk,一个是签名apk文件。 我特么的不知道到底上传哪个到应用商店。求大神立马告诉我。 别跟说我技术,我看不懂
自学能力,是一个程序员最基本的素质,没有之一。 不管这个程序员是大学毕业科班出身,还是培训班出来的,都一样。因为在你离开大学,离开培训机构之后,你依然要在以后的日子里,不断的学习,不断的练习。否则,你掌握的那些知识要么会慢慢忘掉,要么会因为新技术的出现,而变得过时。 所以,仅就前端来讲(因为我只会前端),你只有二种选择,要么在一开始就自学,要么跟别人学一段时间,然后再自学。 一直以来,我总是强调,自学最需要并不是智商,而是坚持。坚持看书,坚持练习,坚持写做代码。年龄并不是成为前端程序员的最大障碍,学不会、
通过“动手实验室”接触到腾讯云SCF的时候,我是纯纯的技术萌新,概念介绍和界里的各种专业术语都看不懂。本着好奇和尝试的心理,我选择了参加“动手实验室”接触这个完全陌生的领域。“动手实验室”是怎样带我这个技术小白体验云函数服务的呢?接下来我会一一向你揭晓……
上一篇博客里讲过 build.gradle 里的每一行代码基本都是在调用一个方法,既然是这样,我们就可以用 android studio(下面简称as) 去查看它源码的方法注释说明,这样就可以理解每个方法是做什么的了,就算是在大神的 build.gradle 遇见一些没看懂的代码,也可以点进去看方法介绍来理解。就像我们在查看 SDK 里的各种方法一样。
一个好程序员不好做,那么一个糟糕的程序应该不难吧! 秘籍一:让你看不懂我写的是什么 都说让人看不懂的代码,才是牛逼代码。一类是算法高深,一般人实在是看不懂。另一类就是让你看不懂。 变量来个天马行空,让你猜吐血。 注释来个不搭边,叫你丫看。 文档有木有,代码就是文档,文档就是代码。 秘籍二:从来不测试 公司小,一个人要顶好几个人使。我有时间测试吗?你丫的不提交版本你就别想干了。bug是程序肯顶有bug,其实告诉你我丫跟就没测试,能糊弄就糊弄。我给出的理由: 时间你给我时间了么? 我的代码没问题流程是对的,
最近ChatGPT很火,但作为一线码农的你,是不是多少有点焦虑?楼主也就是一个企业级应用的Java开发,所以不会去研究AI算法之类的东西,术业有专攻,带着膜拜的心态了解。
我看了很多技术分析文章,都太过专业,很多非Java技术栈或者不搞安全的人只能看个一知半解,导致大家只能看个热闹,对这个漏洞的成因、原理、利用方式、影响面理解的不到位。
许多新同学在刚刚进入公司开始工作的时候,都会有一个阶段,就是刚开始的时候动力十足,等时间长了适合了之后,就开始觉得公司所派发的工作任务,太过单调,而且发现这种单调的工作内容会持续相当长的时间。这时心里就不太舒爽了 虽然内心里也清楚自己会的东西并不多,也有决心认真学习。但感觉总是做这些边边角角的工作没什么技术含量,实在也是没什么发展前景。 怎么办?要换工作吗? 这种情况虽然不是普遍现象,但也比较常见,尤其在一些有一定规模的公司里。扔给你一个不轻不重的东西,自己搞去吧,然后你就处于无人问津的状态。 原因嘛,其
看到这app啥防护也没有做,直接就是smali代码了。但是不是java的,看不懂,转换一下。
端午三天假期刚过,今天就跟大家重新复习一下编码开发中几种常见的设计模式 。本文主要以Java代码为例,分别跟大家介绍单例模式、观察者模式、装饰者模式、工厂模式、适配器模式、代理模式等等 。由于篇幅有限,不能把所有设计模式都涉及到,文末给大家提供了设计模式的讲解视频,大家可以去下载来认真学习一下!
题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 吴师兄的思路 如果想细致的理解递归的细节点,那么这道题目十分合适。 1、通过递归函数,一直递归到链表的最后一个结点为止,此时,该结点就是反转成功后的头结点,是最终的返回结果。 2、在递归函数中,让当前节点的下一个节点的 next 指针指向当前节点。 3、在递归函数中,让当前节点的 next 指针指向 null 4、通过二三步的操作,已经让递归函数中的链表实现了局部反转,将结果返回给上一层递归函数 5、所有递归结束后,链表反转成功
看到了这个问题,就想起了我在大学自学的时候有同样的问题,现在工作了,来写写自己的看法,希望对广大的初学者有所帮助。
来源:cnblogs.com/ILoke-Yang/p/8054466.html
来 源:cnblogs.com/ILoke-Yang/p/8054466.html
简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。
简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。单例模式实现起来也很容易,直接看demo吧
程序本质回忆上次内容\n 就是换行他对应着 ascii 字符的代码是(10)10进制他的英文是 LF,意思是Line Feed我们可以在《安徒生童话》中找到每个字符对应的字节形态编辑不光txt文件是文件我们的python游乐场本质上也是一个二进制可执行的文件这个文件在哪?我们可以读懂这个可执行文件吗?🤔python3 到底是个啥?which python3ll /usr/bin/python3这个 python3是一个符号链接文件只有9字节他指向 pyt
我们知道计算机只能存储0和1(即高低电位传递、灯明灭),所有存储在计算机里的信息都会变成 "010010101" 这样看不懂的数字,那么问题来了,如何把 "010010101" 这样的数字转变成我们能看懂的符号?
“Hello,world”,其实并不像你想象的那么简单。 某虽不才,小学稀里糊涂的拿过县里奥数三等奖,95年就能用小霸王学习机(Basic)打出杨辉三角形,高中理科,98年能考进重点大学(专业悲催的国际贸易),大学期间还过了计算机二级(FoxBase),另外还参加自考拿到了法学学位和司法资格证书……说这些不是为了吹牛逼,而是为了让你知道我真正正儿八经的学开发的时候有多惨啊有多惨!!! /(ㄒoㄒ)/~~ 然后,我关了公司,卖掉了汽车,背起了书包,和一大帮毛头小子坐在一起,开始了我的编程之路。 真 心坑爹啊!
两个月以前在公众号发过一个图片消息,标题是 How to compare two objects in JavaScript,有一个关注了我的同事第二天告诉我说看不懂。看不懂是结果,而为什么看不懂则是导致这一结果的过程。我试着揣测了她看不懂的过程,大概有这些原因:
https://blog.csdn.net/lylwo317/article/details/51869893
我滴妈耶,好久没有写文章了,最近年底工作较多啊,之前有一个java项目,但是在本地测试接口的时候提示跨域问题,但是java项目里没有存在宝塔上,是自己搭建的,所以我看不懂,于是乎就想着弄到宝塔上,但是在java项目添加的时候,选择【Spring_boot】类型之后,无论怎么设置都是未启动的状态,项目路径,类型,接口,端口都没有问题,后来又测试了其他类型【内置项目】和【独立项目】但是也无法访问,原因是不是非jar解析包,新建了也无效,所以到头来还是得用【Spring_boot】类型,但是设置完成后,依然现在未启动的状态,如图:
最近抽奖拿了牛客的T-shit,马克杯,电风扇,于是乎决定写篇新鲜的面经哈哈哈,各位有面经也都不要吝啬啊!
咱也不藏着掖着,其实大家用minify作为关键词检索,不仅能检索出大神的这款工具,还可以检索到降低python、JavaScript、R等编程语言代码可读性的其他实用性代码。
因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常。举个例子,如果一个银行账户同时被两个线程操作,一个取100块,一个存钱100块。假设账户原本有0块,如果取钱线程和存钱线程同时发生,会出现什么结果呢?取钱不成功,账户余额是100.取钱成功了,账户余额是0.那到底是哪个呢?很难说清楚。因此多线程同步就是要解决这个问题。
ps:文章言辞激烈被人留言了教育了,谢了啊,说脏话的确不应该,我的错,写这个言辞激烈的文章,只是希望搞开发的,能多想点团队和公司,不能写代码只顾自己当时用啊,自己写demo可以随意,生产环境别瞎来啊,写代码是个艺术活啊,不是体力活啊,不然阿里的java编码规范出来怎么那么受欢迎呢,自私的编码习惯,广大程序员都是深受其害啊!(有需要阿里java开发手册的,可以留言或者加我微信,我可以私发你) 这里指出几个最简单最基本的要求,是个程序员都应该遵守的规则,当然,你不遵守也不违法,带过几个人,有实习生也有工
在写第二篇文章开始前,请允许本人先说两句,当然,不允许我也会说毕竟文章是我在写嘛。
先祝大家2018新年快乐。 简短的说,前端开发的学习其实就是二个方面的功夫,“学、练”。 学,就是听别人讲,看别人写的书。目的是解决“不知道”的问题。 书上的所有的知识,基本上都是确定的,已经被验证过的。就像中前天已经发生过的事情,昨天被别人记录下来,然后今天你看到了。不会有什么歧义。 从某种意义上来讲,咱们的学习、看书,其实和古代的读书人没什么区别,都靠背书。 我想说啥呢呢? 有些时候,书上的某些知识点看不懂,可以先背下来。反正都是对的。 一本书看差不多了。怎么叫差不多呢?
如果笔者作为面试官,可能会问一些诸如“如果注入的属性为null,你会从哪几个方向去排查”这些场景题。
写代码就是学一门语言然后开始撸代码吗?看完了我一系列文章的同学或者本身已经就是老鸟的同学显然不会这么认为。编程是一项非常严谨的工作!虽然我们自嘲为码农,但是这工作毕竟不是真正的搬砖,我们是软件工程师。编程需要关注的问题太多,不仅仅有语言,还有算法、数据结构、编程技巧、编码风格、设计、架构、工程化、开发工具、团队协作等方方面面,涉及到很多层面的问题。本文将分享一下根据我这几年来的编程经验总结出的一些关于如何写代码的个人见解。 由于“跟我混”的一些小伙伴编程功底相对来说比较薄弱,所以在此总结一篇“编程内功心法”
通过设计模式,我们可以共享词汇,在讨论问题时,我们只要说出这个问题可以用什么设计模式,而不用纠结如何如何实现。再也不用担心看不懂别人的程序了。
Problem Description How far can you make a stack of cards overhang a table? If you have one card,
写代码就是学一门语言然后开始撸代码吗?看完了我的《GoF 设计模式》系列文章的同学或者本身已经就是老鸟的同学显然不会这么认为。编程是一项非常严谨的工作!
成为一个Android开发者很容易,但是成为一个成功的Android开发者并且脱颖而出不是容易的,它需要努力的工作、激情、奉献、坚持不懈。
今天在处理缩略图裁剪代码的时候偶现一条错误“failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found”,最开始以为是内存不足,后来百度一下不是这个问题。大概的原因是处理缩略图裁剪的时候,发现链接出现错误,因为测试站开启了网站密码这就导致查询不到http状态码,所以这个时候就出现了这个错误提示。
最近比较奇怪,收到不少在微信问我怎么学习语言,看什么书才好的,还有问我是不是要换专业、转行做IT应该怎么学习的?
在我当前所在项目里,其中的某一个子系统是用 Groovy 中的 Gradle 插件。Groovy 作为一个运行在 JVM 上的脚本语言,天生具有胶水的特性。加之,它支持 DSL 与其程式的简洁语法。嗯,如果不考虑性能问题,这真的是不一个不错的语言。
重构目的 相同的代码最好只出现一次 主次方法 主方法 只包含实现完整逻辑的子方法 思维清楚,便于阅读 次方法 实现具体逻辑功能 测试通过后,后续几乎不用维护 重构的步骤 新建一个方法 新建方法(写好伪代码,根据伪代码写未实现的代码,根据报错,实现方法) 把要抽取的代码,直接复制到新方法中 根据需求调整参数,根据报错向方法名添加参数 调整旧代码 注释原代码,给自己一个后悔的机会 调用新方法 测试 优化代码 在原有位置,因为要照顾更多的逻辑,代码有可能是合理的 而抽取之后,因为代码少了,可以检查是否能够优化 分
DataInputStream:将文件中存储的基本数据类型和字符串写入内存的变量中
不少人应该知道,在生物模式,通路,调控机制上,PPT 已然是常规工具之一。类似的,那么画卡通热图,PPT一样靠谱。我们知道,Adobe Illustrator 和 CorelDraw 都是收费的。而很多人并不乐意花钱买,另外就是学习难度也不低。但是呢,PPT 就不一样。只要买的是品牌电脑,尤其是笔记本或者上网本,那么都会自带正版的windows操作系统或者是 Office。换句话说,我们几乎每个人都有正版的 PPT。下述,我用 PPT 给大伙演示,如果做出来可重复使用的优雅的卡通热图。注意,似乎版本 2016 或者更高级的版本才行。
1 缘起 最近在负责测试的项目,相对来说比较复杂。从业务上来看,涉及商品添加、审核、交易、支付、退款、换号、管理等多个流程,从代码逻辑上来看,划分了9个模块,还涉及多个外部依赖。 所有http请求由网关层(Zuul)统一接受,进行权限控制和过滤后,根据不同的规则,通过dubbo,转发到不同的模块服务。各模块之间通过dubbo接口调用、kafka消息推送等方式进行通信,还有定时任务模块进行商品和订单状态的处理。 由于个人技术有限,负责这个项目的测试,是一个挑战,但同时,我发现这个项目也是一个很好的学习材料
在知乎里,有一个充满味道而且很有意思的提问,引发了无数专业人士的吐槽: 问题中提到了“祖传代码”,顾名思义就是前辈留下来的代码。 随着系统的不断更新迭代,代码逐渐耦合笨重,阅读和修改的体验越来越糟糕,久而久之,这堆代码嗅起来,就逐渐充满了不可名状的味道,因此也被程序员们起了一个亲切的名字,名为“屎山”。 几乎所有程序员,都遇到过奇形怪状的祖传代码,而且在更新迭代的过程中苦不堪言。小E的学弟就有过亲身经历: 有时候前辈也看不懂前辈的代码,只能惺惺相惜,一起膜拜大佬: i = j + curR
领取专属 10元无门槛券
手把手带您无忧上云