JVM
文章平均质量分 86
didiao java
这个作者很懒,什么都没留下…
展开
-
如何使用Java跟踪JVM文件系统访问
使用自定义安全管理器作为本机跟踪程序的低开销替代方法。对于跟踪Java应用程序的文件系统访问,本机跟踪工具始终是首选。在Windows上,使用Process Monitor跟踪I / O。在Linux上,使用strace。其他平台也提供类似的功能。通过直接在Java中进行跟踪,您可以解决环境限制。例如,在缺少该CAP_SYS_PTRACE功能的容器中strace不可用,并且容器主机并非始终可访问。此外,潜在的更轻量的跟踪机制可方便地在生产环境中进行跟踪。要走Java路线,您可以通过扩展来实现自己的安全原创 2021-04-20 15:29:46 · 394 阅读 · 0 评论 -
Java代码审查指南
用另一双眼睛扫描您的代码总是很有用的,可以帮助您在中断生产之前发现错误。您不必是审阅某人代码的专家。有一定的编程语言经验和复习清单可以帮助您入门。我们整理了一份清单,以供您审查Java代码时应注意的事项。继续阅读!1.遵循Java代码约定遵循语言约定有助于快速浏览代码并理解代码,从而提高可读性。例如,Java中的所有程序包名称均以小写形式编写,所有大写字母中的常量,CamelCase中的变量名称,等等。在此处查找约定的完整列表。有些团队会制定自己的约定,因此在这种情况下要灵活一些!2.用Lambda原创 2021-04-20 15:11:43 · 933 阅读 · 0 评论 -
Spring Boot 和 JDBCTemplate简介: JDBC Template
与任何编程语言一样,Java有多种工具可以轻松地在语言和数据库之间进行集成。有几种工具,例如Hibernate,Eclipse Link,JPA规范等等。但是,ORM带来了几个问题,有时使用它,然后再将其用于Java Communication层或JDBC并不有意义。本教程将介绍一种使用Spring JDBC模板简化JDBC代码的方法。诸如ORM之类的映射框架减少了很多样板,减少了重复的代码,避免了错误,并且没有重新发明轮子。但是,当RDBMS由以面向对象的编程语言编写的应用程序提供服务时,经常会遇到对象原创 2021-04-15 15:09:17 · 513 阅读 · 0 评论 -
注释处理器的问题
问题恰恰在于编译器外部环境的不可用性。如果没有它的环境,测试注释处理器将是一个失败的原因。由于未知的原因,探讨注释处理器的主题似乎在开发人员中引起了一些原始的恐惧。人们倾向于将注释处理与只有最熟练的地下巫师才能执行的边界巫术和法术联系起来。不一定要那样。注释处理不必是藏在床底下的大型吓人怪兽。毫无疑问,注释处理_确实_存在问题,但是解决这些问题的方法也存在。特别突出的一个问题是对注释处理器进行单元测试的困难。一组JUnit 5扩展Elementary解决了一个问题。此注释处理Thingamajig是原创 2021-04-09 14:38:27 · 345 阅读 · 0 评论 -
如何在Java中防御XSS攻击
从通过规范化输入的文本中检测并删除XSS(跨站点脚本)攻击。跨站点脚本(XSS)攻击是一种威胁形式,它利用Web应用程序中的漏洞来掠夺用户信息。使用恶意脚本,攻击者可以通过通常可信任的网页吸引不同的用户,并访问该用户在浏览器中记录的任何信息,包括cookie和其他敏感信息。只要Web程序接受未经验证的用户输入并随后在其输出中使用它,就可能发生这类攻击。采取所有必要步骤来保护用户非常重要,对于XSS攻击尤其如此,因为用户可能只知道他们对您网站的使用,而不是威胁他们的恶意行为者。然后,这可能会损害您网站的声原创 2021-04-09 14:20:11 · 934 阅读 · 0 评论 -
Getter Setter:使用还是不使用?
经验丰富的Java开发人员会在何时以及何时不使用代码库中的getter和setter以及accessor方法的情况下进行检查。Java Getter设置器为什么我们将实例变量设为私有?我们不希望其他类依赖它们。而且,它需要灵活性,可以一时兴起或一时冲动地更改变量的类型或实现。那么,为什么程序员会自动将getter和setter添加到其对象中,从而像公开一样公开其私有变量?存取器方法访问器(也称为getter和setter)是使您可以读写对象的实例变量的值的方法。public class Acce原创 2021-03-27 15:29:31 · 548 阅读 · 1 评论 -
Java 16中的67个新功能
探索Java 16提供的功能。时光飞逝!即使在这样的非凡时期,似乎也很难相信已经过去了六个月,现在我们有了JDK的新版本。像往常一样,我将总结所有新功能,并对它们对Java应用程序开发的潜在影响进行一些评论。并非所有版本都是相同的,并且取决于功能开发阶段的对齐方式。一些将比其他具有更多的功能。 JDK 16包含了许多新内容,尽管其中一些是孵化器模块的延续或完成,或者是较早版本的预览功能。我认为这是更快发布节奏的最大好处之一。提供新功能而不使其成为标准的一部分,收集开发人员的反馈,并可能进行更改,这些都原创 2021-03-27 15:20:43 · 663 阅读 · 0 评论 -
2021年将使用的3种新Java工具
通过这三个工具和框架,可以增强您的企业Java应用程序和您的职业生涯。尽管Python,Go和Node.js广泛用于在Kubernetes上实现人工智能和机器学习应用程序以及无服务器功能,但Java技术仍然在开发企业应用程序中发挥关键作用。根据Developer Economics的说法,在2020年第三季度,全球有800万企业Java开发人员。尽管编程语言已经存在了25年以上,但是Java世界中总是有新的趋势,工具和框架可以使您的应用程序和职业发展成为可能。绝大多数Java框架都是为具有动态行为的长原创 2021-03-27 15:05:24 · 480 阅读 · 0 评论 -
对于一个小白来说,多长时间才能学好JAVA,能进公司做项目?
现在市场上面的行情是需要学到SpringBoot,而学到SpringBoot则需要学习:JavaSE、数据库、JDBC、前端基础、JavaWeb、SSM这些基本的知识,除此之外,你还需要学习一些权限验证框架,缓存,分布式等等这些技术一般对于学习能力比较好的人来说,学习周期大概是在半年左右;不仅仅是需要学习这么多的知识,还需要你自己会动手敲代码,然后你自己还需要做一些项目,熟悉项目的开发流程Java学习时间及路线第一阶段:Java基础语法内容:运行环境、关键字、数据类型、运算符、方法、条件结构、循环结原创 2021-03-23 14:00:20 · 1988 阅读 · 0 评论 -
快速入门Java的建议和7个小技巧
快速入门Java的建议和7个小技巧开始学习Java和其他编程语言的学生通常会想知道是否有任何提示和技巧可以加快学习过程。我不赞同什么学习的窍门,但是有一些方便的技巧可以使该过程尽可能快地实现。学习Java建议:.选择看视频,看完一套视频之后再去选择看书,这样才能够体现出书本的价值.多动手,不管你是看书还是看视频,动手敲代码才是最重要的.做笔记,一方面方便你复习,一方面能够帮助你熟悉知识点,也能够帮助你查缺补漏.多交流,不管是同学还是老师,初学者还是前辈,多去吸取他们的经验和优点.找个前辈指导原创 2021-03-22 17:02:22 · 273 阅读 · 1 评论 -
jpackage在Java 16中可以投入生产
JDK 16具有打包自包含Java应用程序的功能。如果您不停地考虑针对不同平台进行编译,我会感觉到。Java的承诺之一就是WORA(一次写入,可在任何地方运行)原理,在彻底改变平台独立性的同时,又停止了一步,那就是能够在任何地方进行部署。就个人而言,我认为WORADA听起来很棒,但我想在Docker之前人们还没有意识到消除“我的机器上的工作”就像运送机器一样简单。因此,您编写了一个类,构建了一个jar文件,然后需要正确的JVM(或JDK)和所有正确的依赖项,它们以非常特殊的方式进行组织才能使其正常工作。原创 2021-03-20 14:00:55 · 721 阅读 · 1 评论 -
为什么Java在25年后如此年轻:设计师的观点
Java拥有25年的编程生命,并且仍然与开发人员息息相关。即使到现在,全球将近69%的开发人员社区仍在使用Java进行编码。Java拥有25年的编程生命,并且仍然与开发人员息息相关。即使到现在,全球将近69%的开发人员社区仍在使用Java进行编码。甲骨文最近发布了Java 15,其中包含大量功能,例如密封类,隐藏类,爱德华曲线数字签名算法(EdDSA),文本块等。这使Java 15成为25岁的年轻人,而不是25岁的编程语言。Java的历史与演变当1990年代初期有数十种非常稳定的编程语言(例如FORT原创 2021-03-20 13:49:30 · 235 阅读 · 0 评论 -
被忽视的java四种引用,你会了吗?
前言最近面试被问到了ThreadLocal的连环问,例如如果线程池线程一直存在,使用ThreadLocal会导致泄漏吗?那应该如何做?为什么这样可以?用的是什么引用?ThreadLocal的原理是啥?,笔者多次被问这个,于是打算系统复习下,基础还是得牢固,要多动手实践,不能光靠看和背,只有真正使用起来,知道原理,才能慢慢成长,拒绝只会CRUD,从CRUD 到 自己思考问题优化系统,提升代码水平完成蜕变。软引用SoftReference当修饰对象,当前内存如果足够不会回收当前对象,如果不足则会回收该对原创 2021-03-19 16:23:38 · 122 阅读 · 0 评论 -
Java 多线程 : 简简单单原子类
前言原子类继承于 Number 接口 , 归属于java.util.concurrent.atomic 包中 , 原子类的主要作用是为了解决 synchronized 处理原子操作 资源消耗过高 的问题 ,原子类的CAS 基于 Unsafe 实现 .一. 原子类的简述1.1 原子类的应用场景原子类适用于需要原子操作而有需要减少资源消耗时 , 原子类相当于 volatile 和 CAS 的工具类 .1.2 原子类的类型基本类型 : 使用原子的方式更新基本类型AtomicInteger:整形原子类原创 2021-03-18 15:05:51 · 150 阅读 · 0 评论 -
Java 16 正式发布
就在刚刚,Java 16正式发布。主要特性Vector API(孵化)提升了Java在CPU向量计算的性能,这是对大规模的张量计算的支持,提升了Java在AI领域的能力。启用了新的C++特性允许在JDK中C++源代码中使用 C ++ 14的新特性。从 Mercurial 迁移到 GitGit目前已经成为代码版本管理领域的绝对统治者,现在Java顺应潮流也使用Git进行源代码管理。迁移到GitHubOpenJDK的代码现在有GitHub托管。ZGC垃圾收集器并发线程堆栈处理的垃圾收集器。原创 2021-03-17 14:24:45 · 392 阅读 · 0 评论 -
用 IoC 和 AOP的原因
作为一名 Java 开发,对 Spring 框架是再熟悉不过的了。Spring 支持的控制反转(Inversion of Control,缩写为IoC)和面向切面编程(Aspect-oriented programming,缩写为AOP)早已成为我们的开发习惯,仿佛 Java 开发天生就该如此。人总是会忽略习以为常的事物,所有人都熟练使用 IoC 和 AOP,却鲜有人说得清楚到底为什么要用 IoC 和 AOP。技术肯定是为了解决某个问题而诞生,要弄清楚为什么使用 IoC 和 AOP,就得先弄清楚不用它们会原创 2021-03-16 16:45:23 · 137 阅读 · 0 评论 -
Java内存管理
对Java内存管理的深入了解将增强您对堆的工作方式,引用类型和垃圾回收的了解。您可能会认为,如果您使用Java进行编程,那么您需要了解有关内存工作原理的哪些信息?Java具有自动内存管理功能,这是一个不错的,安静的垃圾回收器,它在后台工作以清理未使用的对象并释放一些内存。因此,作为Java程序员,您不再需要像销毁对象那样麻烦自己,因为不再使用它们。但是,即使该过程在Java中是自动的,也不能保证任何事情。通过不知道垃圾收集器和Java内存的设计方式,即使您不再使用垃圾回收器和Java内存,您也可能拥有不原创 2021-03-13 15:16:17 · 171 阅读 · 0 评论 -
Java8异步编程-CompletableFuture
异步编程的难点如何优雅地实现异步编程一直都是一个难题,异步编程的通常做法就是采用callback的方法,但是这种方法通常会把代码嵌套在正常流程的代码中,而且当有多层嵌套的时候代码更加难以维护。另外还有一点,异步编程的异常处理也是难以未维护,特别是在Java中,异步编程通常由新的线程完成,而子线程的异常是无法在父线程捕获的,那么对于异步执行结果的获取就需要付出更大的代价,比如通过:轮询、事件驱动等来完成。从Future说起Java5之后就引入Future用于异步编程,通过get()方法来对异步执行结果原创 2021-03-11 14:21:59 · 200 阅读 · 0 评论 -
多线程Java和面试第3部分:等待并通知所有人
在这里,请阅读有关“等待”和“ NotifyAll”同步的概念的介绍。我们学习了如何使用Wait和Notify方法来创建线程安全的阻塞队列。但是在所描述的示例中,我们只有1个使用者(John线程)和1个生产者(Peter线程)。在这一部分中,我们考虑另一个示例,该示例包含2个消费者和1个生产者。这部分的主要目的是学习通知所有功能以及Java Monitor如何处理这种情况。等待并通知所有详细说明让我介绍三个主线参与者:John1,John 2(消费者)和Peter(生产者)在我们的实现中,我们有三原创 2021-03-10 15:11:21 · 139 阅读 · 0 评论 -
Java工程师与时俱进的3条原则
您需要了解维持良好框架和库的3条原则。在API中应用这些原则将使您走上最新的道路。Java工程师可以采用几种策略来跟上技术的最新发展。最自然的方法之一是开发框架和库。这样,他们通常会发现自己处于以下两种情况之一:他们的代码中的任何重大更改都将破坏其客户的应用程序。因此,他们为发布更多功能而苦苦挣扎。他们的大多数版本仅包含较小的错误修复。尽管他们经常发布包含附加功能的版本,但他们的客户端从未升级。升级到最新版本会花费很多精力,而客户却没有时间这样做。如果您发现其中一种情况,则需要了解维持良好框架和原创 2021-03-09 13:58:38 · 153 阅读 · 0 评论 -
软件设计的7个美德
在本文中,我将解释这些优点中的每一个的含义,并引用其中涉及的一些众所周知的良好做法。要生成高质量,可靠和可扩展的软件,必须学习并遵循许多良好的实践,设计模式,代码检查等。但是他们每个人都为这七个黄金美德中的一个或几个服务:效力鲁棒性/安全性/可靠性可维护性灵活性可重用性/可移植性可扩展性效率在本文中,我将解释这些优点中的每一个的含义,并引用其中涉及的一些众所周知的良好做法。为什么这个命令很重要?我已经写下了这七个美德,根据需要对它们进行了排序,这是更必要的。但我将以向后的顺序进行原创 2021-03-08 14:27:22 · 205 阅读 · 2 评论 -
Java中的无死锁同步
在这里,我们研究死锁的起源,考虑在现有代码中发现死锁的方法,并学习如何设计无死锁的同步。线程同步是克服多线程程序中竞争条件的好工具。但是,它也有阴暗面。死锁:难以发现,重现和修复的令人讨厌的错误。防止它们发生的唯一可靠方法是正确设计您的代码,这是本文的主题。我们将研究死锁的起源,考虑在现有代码中发现潜在死锁的方法,并介绍设计无死锁同步的实用方法。这些概念将通过一个简单的演示项目进行说明。假定读者已经熟悉多线程编程,并且对Java中的线程同步原语有很好的理解。在以下各节中,我们将不会在同步语句和锁API之原创 2021-03-08 13:55:56 · 168 阅读 · 0 评论 -
Java 2021:新的一年有哪些框架和趋势?
了解Java世界中新的一年的趋势。发现无反射框架新趋势的影响及其对体系结构的影响。从技术角度来看,Java世界内的框架是最大的不同之一。仅使用Java SE平台而不使用任何工具来查看Java中的应用程序具有挑战性。在新的一年里,自然会出现问题,例如在新项目中可以使用哪些框架,框架的类型和趋势。这篇文章的目的是讨论一下Java世界中最流行的框架以及对世界上最流行的语言之一对明年的期望。毫无疑问,注释或元数据功能在世界范围内促进了许多工作。通常,绝大多数框架都使用这种类型的资源。但是,与这些注释将在何时读取原创 2021-03-04 16:23:52 · 3401 阅读 · 1 评论 -
在使用AOP切面时,明明没有错,却总是不执行
前言使用切面一段时间,写个基本切面没有问题。然而这次使用切面时遇到了问题,发现切面没有执行,找错误又无从找起,只能硬看代码。大概代码是这样的public class ImportExcelServiceImpl { public void readFromFileAndSetAnswerSheets() { ... setAnswerSheet(currentRow); ... } @UpdateAnswerSheet原创 2021-03-03 15:46:31 · 2313 阅读 · 1 评论 -
Java中的陌生事物:常量
让我们看看常量在某些奇怪的情况下如何工作。介绍在本文中,我们将探讨一些涉及使用常量的场景,即使是经验丰富的程序员也可能对此有所怀疑。尽管该主题可能是众所周知的,但并不是每个人都探索了特定的场景,例如在同义常量存在的情况下解决多重继承。增强自己的理论基础对于能够自信地进行编程至关重要。定义一个常量是一个变量,其价值一旦被分配不能改变。这意味着,如果程序中的一条指令试图更改常量的值,我们将得到编译时错误。在Java中将变量转换为常量的是final修饰符。它将可能分配给一个变量的数量限制为一个。例如,如果原创 2021-03-02 15:18:30 · 145 阅读 · 0 评论 -
Java并发性:了解“Volatile”关键字
在本文中,我想就此主题分享一种可能对您有所帮助的不同方法,并讨论有关的一些特殊性和误解volatile。关于此主题的材料非常好(例如“ Java Concurrency in Practice” [ JCIP ])。我鼓励您阅读它;)我们将讨论volatile从Java 5开始定义的语义(在以前的Java版本中,volatile 没有内存一致性/状态可见性语义)。Java并发:什么是V olatile?简短答案:这volatile是一个关键字,我们可以将其应用于字段, 以确保当一个线程向该字段写入值原创 2021-03-02 12:01:14 · 225 阅读 · 0 评论 -
Java内存管理
对Java内存管理的深入了解将增强您对堆的工作方式,引用类型和垃圾回收的了解。您可能会认为,如果您使用Java进行编程,那么您需要了解有关内存工作原理的哪些信息?Java具有自动内存管理功能,这是一个不错的安静的垃圾回收器,它在后台工作以清理未使用的对象并释放一些内存。因此,作为Java程序员,您不再需要像销毁对象那样麻烦自己,因为不再使用它们。但是,即使该过程在Java中是自动的,也不能保证任何事情。通过不知道垃圾收集器和Java内存的设计方式,即使您不再使用垃圾回收器和Java内存,您也可能拥有不符原创 2021-03-02 11:13:07 · 119 阅读 · 0 评论 -
HashMap在Java内部如何工作
看一下这篇文章,解释Hashmap在Java中的工作方式,包括它如何计算存储桶的索引以及其他内部结构的工作方式。在本文中,我们将了解HashMap在JAVA中的内部工作方式。另外,我们将看看Java 8对Hashmap的内部工作进行了哪些更改以使其更快。Java中的HashMap遵循哈希原理。它是一个数据结构,只要我们知道密钥,就可以在恒定的时间O(1)中存储并检索对象。在哈希中,哈希函数用于链接HashMap中的键和值。Hashmap如何计算Java中存储桶的索引要了解HashMap在Java内部原创 2021-02-03 14:47:45 · 157 阅读 · 0 评论 -
如何尽快学习Java:采用的最佳实践
开始学习Java和其他编程语言的学生通常会想知道是否有任何提示和技巧可以加快学习过程。我不确定学习的窍门,但是有一些方便的技巧可以使该过程尽可能快地实现。.根据我在补习和软件开发方面的经验,我为快速学习Java提出了七个最适用和最有效的建议。因此,请继续关注它们是什么。使Java学习过程更轻松,更快的7个技巧和窍门1.磨练Java编码技巧后,找到要构建的Java项目Brian Knapp是一位经验丰富的程序员,并且是Code Career Genius博客的作者,它为所有想知道如何快速学习Java的原创 2021-02-03 14:10:05 · 233 阅读 · 3 评论 -
在不使用框架的情况下实现依赖注入
在不使用任何框架的情况下,在核心Java中实现自己的轻量级依赖注入。总览本文将指导您使用自己的依赖注入实现来理解和构建轻量级Java应用程序。依赖注入…DI…控制反转…IoC,我想您可能在常规例行程序或特别的面试准备时间中听到过这么多次这些名称,您想知道它到底是什么。但是如果您真的想了解它的内部工作原理,请继续阅读此处。那么,什么是依赖注入?依赖注入是一种用于实现IoC的设计模式,在该模式中,框架创建并分配了对象的实例变量(即依赖项)。要使用DI功能的类及其实例变量,只需添加框架预定义的注释。原创 2021-02-03 13:57:15 · 429 阅读 · 0 评论 -
Java 8的功能性编程模式
在有关编写更简单,更简洁的代码的教程中,了解有关函数式编程模式的更多信息。1)在匿名Lambda上优先使用命名函数为了进行热身,让我们从将一些用户的详细信息带到UI的简单任务开始。我们将从对实体列表的传统回顾开始,将每个实体列表转换User为UserDto:public List<UserDto> getAllUsers() {2 List<User> users = userRepo.findAll();3 List<UserDto&原创 2021-02-02 14:00:58 · 185 阅读 · 0 评论 -
Spring Boot:将JPA批量插入性能提高100倍
是否想改善您的插入记录?在本文中,您可以学习如何使用Spring Data JPA将批量插入性能提高100倍。我遇到了一个问题,我想将数百万条记录插入数据库,而这需要从文件中导入。因此,我对此进行了一些研究,并希望与您分享我发现的发现,这些发现帮助我将插入记录的吞吐量提高了近100倍。最初,当我只是尝试使用spring JPA的saveAll方法进行批量插入时,每10,000条记录获得约185秒的性能。在执行以下更改之后,插入10,000条记录的性能仅需4.3秒。是的,每10k记录4.3秒。因此,原创 2021-02-01 14:06:21 · 7088 阅读 · 3 评论 -
本机内存可能导致未知的内存泄漏
最近,我遇到了一个奇怪的情况:我的程序的内存使用量超出了用于堆的最大值。我发现了一个有趣的问题。最近,我遇到了一个奇怪的情况:我的程序的内存使用量超出了用于堆的最大值。即使在运行GC之后,部分内存也不可用。我已经知道将JVM内存的一部分分配给本机内存,并将部分本机内存分配给C代码,但是我的程序中甚至没有一行本机代码。在多次检查和分析代码后,我发现了一个有趣的问题。在深入探讨问题之前,让我们看一下Java内存的概念。Java中的内存管理JVM将内存分为两个主要空间,堆和本机内存。堆空间用于分配Java对原创 2021-02-01 13:58:47 · 125 阅读 · 0 评论 -
超越Java 8:instanceof的模式匹配
开发人员和Java专家概述了Java的最新版本中的instanceof运算符,以及如何使用它来改进您的代码。介绍根据一些调查(如JetBrains的出色调查),尽管Java 8是2014年发行的,但它目前是使用最多的Java版本。本文是系列文章中的第一篇,标题为“超越Java 8”,其灵感来自于我的《Java for Aliens》一书的内容。这些文章将引导读者逐步探索从Java 9引入的最重要的功能。其目的是使读者了解从Java 8向前迈进的重要性,并说明最新的Java带来的巨大优势。语言版本。在原创 2021-01-30 14:06:42 · 1422 阅读 · 0 评论 -
Java开发人员2021年的职位描述和职责
如果要在2021年创建Java项目,则有两个选择。第一个是开始自己学习这种语言,第二个是雇用Java开发人员。第二种选择显然是可取的,但是在继续进行直接聘用之前,让我们先了解一下Java开发人员的角色和职责,以及根据项目的具体情况而聘请该专家以盈利的方式。Java开发人员角色和职责在大多数情况下,Java开发人员职位描述描述了以下职责。Java编码是该专家的主要任务。参与项目测试。如果项目使用DevOps方法,则开发人员除了编写代码本身之外,还参与项目测试和调试。参与项目管理。在截止日期设置和为产原创 2021-01-30 13:58:50 · 1777 阅读 · 0 评论 -
你是否有过度设计的罪恶感?
使用太多的复杂性来使用最新的样式,框架和库来做一些简单的事情是很容易的。吻很艰难。如果您听其他语言社区(例如Python或Ruby),则Java开发人员似乎倾向于过度设计。也许他们只是嫉妒我们的高级平台(眨眼),也许有一些非常微小的原因让他们相信。我相信是这样。我通过进行代码审查意识到了这一点,这很有趣,尽管我可能会在编写代码时过度设计自己。但是我正在努力。当然,您是一个“简单”的开发人员,只有架构师才能设计,所以只有他们才能承担过度工程的责任,不是吗?恐怕并非如此:开发人员一直都在这样做。在本文中,原创 2021-01-30 13:54:23 · 304 阅读 · 0 评论 -
2021年最有前途的10种编程语言
在本文中,您将找到有关每种语言,其复杂性以及如何与前瞻性思维一起使用的信息。根据最新的Web开发研究,截至2020年,大约有700种编程语言可用。其中一些仅适用于特定领域,而另一些则广泛用于各种应用程序中。如果您正在考虑在2021年采用或学习一种新的编程语言,请继续阅读以发现2021年我们排名前十的编程语言的好处。1. PythonPython徽标。Python是目前发展最快的语言之一。Python Web开发框架,例如Django和Pyramid,是Python提供的最主流的框架工具。关于Py原创 2021-01-30 13:51:08 · 9213 阅读 · 1 评论 -
OOP与企业环境兼容吗?
让我们使用Spring,Java和Kotlin来查看OOP是否真的在企业级别上得到支撑,以及在进行项目时必须考虑的各种折衷。本周,在与我在一所高等学校开设的Java课程有关的研讨会上,我注意到由学生编写的代码基本上还可以-完全是程序性的。实际上,尽管Java语言自吹自as是一种面向对象的语言,但找到由企业中的专业开发人员开发的此类代码并不少见。例如,JavaBean规范与OOP的主要原理之一封装直接矛盾。另一个例子是在Java EE和Spring应用程序中同样广泛使用的控制器,服务和DAO架构。在这种情原创 2021-01-30 13:47:19 · 117 阅读 · 0 评论 -
是什么使Java开源?
考虑到Java的悠久历史,获得和许可,从开放源代码的角度浏览Java可能会有些混乱。如果您使用Java编写业务应用程序,则可能知道Java Standard Edition(SE)不是开源软件。它不受Python或JavaScript等基金会的管理,并且在2019年1月,Oracle更改了其政策,要求从开发人员的本地环境到生产环境的任何SE使用都必须获得商业许可。这一变化还在开源社区中引发了很多有关许可合规性和Java使用的问题。如果您仍然感到困惑,本文将指导您完成这些更改如何应用于Java开发人员。原创 2021-01-30 13:40:01 · 336 阅读 · 0 评论 -
Java语法难题
一怎么等于二?可以使用关键字作为变量名吗?我们在一组极端的Java语法难题中研究这些以及更棘手的问题。大约12年前,我开始以各种功能为Eclipse生态系统做出贡献。迄今为止,最有趣的经历之一是致力于开发人员工具的开发和处理边缘情况,从而使其他人不必费劲。尽管在此期间我辞去了Eclipse提交人的职务,但如今仍作为Gradle Build Tool的一员致力于开发生产力工具。在Eclipse上工作时,我深深地记得在进行重构和快速修复时在Java Tooling(JDT)的各个部分上进行过工作。毫不奇怪,原创 2021-01-30 11:54:49 · 135 阅读 · 0 评论