-
写代码的16个好习惯,减少大部分的bug
所属栏目:[语言] 日期:2021-05-23 热度:85
入参校验也是每个程序员必备的基本素养。你的方法处理,「必须先校验参数」。比如入参是否允许为空,入参长度是否符合你的预期长度。这个尽量养成习惯吧,很多「低级bug」都是「不校验参数」导致的。 如果你的数据库字段设置为varchar(16),对方传了一个32[详细]
-
Java关于延迟加载的一些应用施行
所属栏目:[语言] 日期:2021-05-23 热度:65
副标题#e# 一般有几种延迟初始化的场景: 对于会消耗较多资源的对象:这不仅能够节省一些资源,同时也能够加快对象的创建速度,从而从整体上提升性能。 某些数据在启动时无法获取:比如一些上下文信息可能在其他拦截器或处理中才能被设置,导致当前bean在加[详细]
-
Python轻量级循环效率问题处理
所属栏目:[语言] 日期:2021-05-22 热度:115
[iforiinrange(10)] [0,1,2,3,4,5,6,7,8,9] 单循环+条件 0-20中所有能被3整除的数是多少 [iforiinrange(20)ifi%3==0] [0,3,6,9,12,15,18] 多循环-2次 ABC和EGF所有可能的两两组合 [i+jforiinABCforjinEFG] [AE,AF,AG,BE,BF,BG,CE,CF,CG] 多循环-3次 ABC、E[详细]
-
Throwable、Error与Exception类的用途分析
所属栏目:[语言] 日期:2021-05-22 热度:79
Throwable 类是 Java 语言中所有错误或异常的顶层父类,其他异常类都继承于该类。Throwable类有两个重要的子类:**Exception(异常)**和 「Error(错误)」,二者都是 Java 异常处理的重要子类,各自都包含大量子类。 只有当对象是此类或其子类的实例时,才能[详细]
-
异常使用时的常见问题及注意事项
所属栏目:[语言] 日期:2021-05-22 热度:100
副标题#e# 1、当子类重写父类的带有 throws声明的函数时,其throws声明的异常必须在父类异常的可控范围内用于处理父类的throws方法的异常处理器,必须也适用于子类的这个带throws方法 。这是为了支持多态。 例如,父类方法throws 的是2个异常,子类就不能th[详细]
-
手把手教你用Python掌握Word自动编写离职报告
所属栏目:[语言] 日期:2021-05-22 热度:153
副标题#e# fromdocximportDocument fromdocx.enum.textimportWD_PARAGRAPH_ALIGNMENT fromdocx.oxml.nsimportqn fromdocx.sharedimportRGBColor,Pt #初始化一个文档 document=Document() #加个标题 paragraph=document.add_heading(开空调,level=3) documen[详细]
-
盘点潜力巨大的几种编程语言
所属栏目:[语言] 日期:2021-05-22 热度:191
目前,我们正处于一个新兴的区块链开发产业中。 区块链技术还处于起步阶段,但是这种破坏性技术已经成功席卷了整个世界,并且最近经历了前所未有的繁荣。 有许多资金充裕的项目渴望建立自己的区块链网络并在其上部署去中心化应用程序,因此,有能力的区块[详细]
-
Java8性能全面介绍意义深远
所属栏目:[语言] 日期:2021-05-22 热度:109
副标题#e# Java 8 已经发布很久了,很多报道表明 Java 8 是一次重大的版本升级,虽然我们的 JDK 环境也升级到1.8,但是在日常的开发过程中,使用最多的编程风格还是停留在 JDK1.7。 Java8 新增了非常多的特性,主要有以下几个: Lambda 表达式:Lambda 允许[详细]
-
java的乐观锁和悲观锁是如何实现的
所属栏目:[语言] 日期:2021-05-22 热度:141
java的锁有这么几类。 乐观锁和悲观锁 乐观锁就是JVM认为不通过加锁也能保证并发的正确性。典型实现是诸如AtomicInteger的实现。 悲观锁就是需要加锁互斥。典型实现是Synchronized(Synchronized属于乐观锁还是悲观锁其实跟具体实现有关,大部分场景下都是[详细]
-
Java 7以来增加得强大的新功能的示例
所属栏目:[语言] 日期:2021-05-22 热度:71
在Java 8中,功能编程和lambda被添加为语言功能。函数式编程的两个核心范例是不变的值和将函数提升为一等公民的方法。数据经过一系列修改步骤,其中每个步骤都需要一些输入并将其映射到新的输出。函数式编程可与Java中的Streams和null安全monad(可选)一起[详细]
-
如何构造一个死锁及处理方式
所属栏目:[语言] 日期:2021-05-22 热度:65
副标题#e# 很简单,只要让线程1占有对象a的锁后,再去请求对象b的锁。与此同时,对象2已经占有了对象b的锁,再请求对象a的锁。线程1与线程2互相等待,形成了死锁。(在面试中,也会被经常地要求手写死锁) 代码如下: packagecom.example.dl; importorg.sprin[详细]
-
FileOutputStream与FileInputStream的随机访问文件读写
所属栏目:[语言] 日期:2021-05-21 热度:129
副标题#e# 由于流是单向的,简单文件写可使用FileOutputStream,而读文件则使用FileInputStream。 任何数据输出到文件都是以字节为单位输出,包括图片、音频、视频。以图片为例,如果没有图片格式解析器,那么图片文件其实存储的就只是按某种格式存储的字节[详细]
-
用Python实现多Excel、多Sheet的合并处理的方法
所属栏目:[语言] 日期:2021-05-21 热度:136
1)如何选择要合并的Excel文件? 利用os,获取所有要合并的Excel文件。 2)如何选择要合并的Sheet? 利用xlrd库进行Excel读取,获取要合并的Sheet名。 3)如何合并? 利用pandas库,对所有Sheet名逐一循环打开,通过concat()进行数据追加合并即可。 4)如何保存文[详细]
-
Java中基础类型的包装类在拆箱和装箱过程中起到了什么用处
所属栏目:[语言] 日期:2021-05-21 热度:138
副标题#e# 下面通过一个简单的示例才重现一下异常出现的场景。 publicclassBoxTest{ publicstaticvoidmain(String[]args){ MapString,Objectresult=httpRequest(); longuserId=(Long)result.get(userId); } //模拟一个HTTP请求 privatestaticMapString,Obje[详细]
-
extends与super通配符的差异
所属栏目:[语言] 日期:2021-05-21 热度:99
副标题#e# 在定义泛型类型Generic的时候,也可以使用extends通配符来限定T的类型: publicclassGenericTextendsNumber{...} 现在,我们只能定义: GenericNumberp1=null; GenericIntegerp2=newGeneric(1,2); GenericDoublep3=null; 因为Number、Integer和Do[详细]
-
Java 泛型机制允许程序员在编译时检验到非法的类型
所属栏目:[语言] 日期:2021-05-21 热度:95
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。 简单理解就是:泛型指定编译时的类型,减少运行时由于对象类型不匹配引发的异常。其主要用途是提高我们的代码的复用率。[详细]
-
Java注解annotation的用途分析
所属栏目:[语言] 日期:2021-05-21 热度:130
今天在看以前写的代码,发现自己对注解的了解还不是非常透彻,经常选择性就忽视了对注解实现的探究,遂查询资料学习了一下。 注解是什么 实现格式 从代码来看我们知道注解的实现格式是: public@interfaceMyAnnotation{ 属性列表; } 所以我们有了第一直觉[详细]
-
C++多线程基本概念及其创建线程的操作
所属栏目:[语言] 日期:2021-05-21 热度:147
副标题#e# 并发、进程、线程的基本概念 并发两个或者多个任务(独立的活动)同时发生(进行):一个程序通知执行多个独立的任务并发假象(不是真正的并发):单核CPU通过上下文切换方式实现进程 进程计算机中的程序关于某数据集合上的一次运行活动 进程特性 动态性[详细]
-
Java高并发编程入门篇:AQS
所属栏目:[语言] 日期:2021-05-21 热度:54
曾经有一道比较比较经典的面试题你能够说说java的并发包下面有哪些常见的类?大多数人应该都可以说出 CountDownLatch、CyclicBarrier、Sempahore多线程并发三大利器。这三大利器都是通过AbstractQueuedSynchronizer抽象类(下面简写AQS)来实现的,所以学习三[详细]
-
让你滔滔不绝的Java的泛型知识点梳理
所属栏目:[语言] 日期:2021-05-21 热度:153
副标题#e# 最近技术交流群里,有朋友问:Object和泛型T有啥区别。回答完问题,不禁在想,面试在即,还有那么多朋友不了泛型?是时候给大家整理一篇泛型相关的文章了,一篇文章全面搞定泛型,让大家再也不愁面试或实践中泛型相关的问题了。 什么是泛型 泛型是[详细]
-
干货:桌面操作系统与嵌入式操作系统的差异
所属栏目:[语言] 日期:2021-05-18 热度:182
桌面操作系统对于当前主流桌面操作系统而言,可使用 Visual以及 LLVM Clang 这三大编译器。 Visual C++(简称 MSVC)是由微软开发的,只能用于 Windows 操作系统;GCC 和 LLVM Clang除了可用于 Windows 操作系统之外,主要用于 Unix/Linux 操作系统。 像现[详细]
-
从现在开始积蓄能量,有执念的人最可怕
所属栏目:[语言] 日期:2021-05-18 热度:174
编程是一门技术,我也不知道它难不难,我只知道,只要你想学,肯定能学会。每个人的逻辑思维能力不同,兴趣点不同,总有一部分人觉得容易,一部分人觉得吃力。 在我看来,技术就是一层窗户纸,是有道理可以遵循的,最起码要比搞抽象的艺术容易很多。 但是,[详细]
-
C语言是菜鸟和大神的边界线
所属栏目:[语言] 日期:2021-05-18 热度:182
所有的程序都在拼尽全力节省内存,都在不遗余力提高内存使用效率,计算机的整个发展过程都在围绕内存打转,不断地优化内存布局,以保证可以同时运行多个程序。 不了解内存,就学不会进程和线程,就没有资格玩中大型项目,没有资格开发底层组件,没有资格架[详细]
-
C语言是计算机产业的关键语言
所属栏目:[语言] 日期:2021-05-18 热度:134
也许是机缘巧合,C语言出现后不久,计算机产业开始爆发,计算机硬件越来越小型化,越来越便宜,逐渐进入政府机构,进入普通家庭,C语言成了编程的主力军,获得了前所未有的成功,操作系统、常用软件、硬件驱动、底层组件、核心算法、数据库、小游戏等都使用[详细]
-
接口存在的价值及其特性
所属栏目:[语言] 日期:2021-05-18 热度:156
在我自己早期学习编程的时候,对接口存在的意义实在困惑,我自己乱写代码的时候基本上不可能意识到需要去写接口,不知道接口到底有什么用,为什么要定义接口,感觉定义接口只是提前做了个多余的工作。 其实不是,定义接口并非多余,「接口是用来提供公用的[详细]