Java三元表达式中的陷阱
2020-11-11 Java Trap今天遇到一个奇怪的Java三元表达式中的空指针异常。特此记录。
今天遇到一个奇怪的Java三元表达式中的空指针异常。特此记录。
本文整理的是本人在Java开发过程中,常用的一些软件集合。
JDK 15已经于2020年9月15日如期发布。本文介绍JDK 15新特性。
本文介绍Node.js的诞生史以及如何学习Node.js。
随着JDK 14的发布(https://waylau.com/jdk-14-released/),各大Java IDE也开始支持JDK 14。最新版本的Eclipse IDE 2020-06 R也于2020年6月17日发布,本文介绍如何通过Eclipse IDE来开发Java 14应用。
曾几何时,业界流行使用LAMP架构(Linux、Apache、MySQL和PHP)来快速开发中小网站。LAMP是开放源代码的,而且使用简单、价格廉价,因此LAMP这个组合成为了当时开发中小网站的首选,号称“平民英雄”。而今,随着Node.js的流行,这使得JavaScript终于能够在服务器端拥有了一席之地。JavaScript成为了从前端到后端再到数据库层能够支持全栈开发的语言。而以MongoDB、Express、Angular和Node.js四种开源技术为基础的MEAN架构,除了具备LAMP架构的一切优点外,更能支撑高可用、高并发的大型互联网应用的开发。MEAN架构势必也会成为新的“平民英雄”。
本文介绍了MEAN架构的概念、发展趋势,并阐述了如何学习和使用MEAN架构。
本文介绍了Java的发展趋势,并阐述了如何学习Java技术。
本文演示了如何如何编写JUnit 5测试用例,在Maven项目中运行JUnit 5测试用例。
eBay 的技术人员最近展示了一种称为 GRIT 的分布式事务协议,支持跨多个具有多个底层数据库的微服务的 ACID(原子性、一致性、隔离性、持久性)事务。本文描述了在 2019 年 IEEE 数据工程国际会议(ICDE)上公布的 GRIT 协议的基本思想,并提供了一个使用部分协议实现 JanusGraph 事务存储后端的示例。本例关注的是只有一个数据库的系统,但是正如我们所说,GRIT 可以支持包含多个数据库的系统的 ACID 事务。
随着JDK 14的发布(https://waylau.com/jdk-14-released/),各大Java IDE也开始支持JDK 14。最新版本的Eclipse IDE 2020-03也于2020年3月18日发布,本文介绍如何通过Eclipse IDE来开发Java 14应用。
初次使用TortorliseGit的小伙伴,怕是很难找到删除分支的菜单。本文介绍如何使用TortorliseGit删除分支。
初次使用NetBeans,往往会遇到“Cannot find Java”错误。本文介绍如何解决该错误。
JDK 14已经于2020年3月17日如期发布。本文介绍JDK 14特性。
对Oracle进行性能优化,有时只需要做几个简单的转换,比如NOT EXISTS改为LEFT JOIN。
《大型互联网应用轻量级架构实战》一书已于上月出版,今天刚刚拿到样书。简单的说,这是一本讲架构书——轻量级互联网应用架构。
在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica), 这些副本会放置在不同的节点上。这些数据节点可能是物理机器,也可能是虚拟机。为了对用户提供正确的CURD等语意,我们需要保证这些放置在不同节点上的副本是一致的,这就涉及分布式事务的问题。
本文介绍分布式事务处理方案之一的三阶段提交协议。
ChannelHandler(管道处理器)其工作模式类似于Java Servlet过滤器,负责对I/O事件或者I/O操作进行拦截处理。采用事件的好处是,ChannelHandler可以选择自己感兴趣的事件进行处理,也可以对不感兴趣的事件进行透传或者终止。
在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica), 这些副本会放置在不同的节点上。这些数据节点可能是物理机器,也可能是虚拟机。为了对用户提供正确的CURD等语意,我们需要保证这些放置在不同节点上的副本是一致的,这就涉及分布式事务的问题。
本文介绍分布式事务处理方案之一的两阶段提交协议。
本文介绍Redis主从模式的常用类型。
Angular CLI 是 Angular 客户端命令行工具,提供非常多的命令来简化 Angular 的开发。今天执行“ng serve”命令时,竟然报找不到模块”@angular-devkit/build-angular”的错误。
近期 Java 界好消息频传。先是 Java 13 发布,接着 Eclipse 也发布了新版本表示支持新版本的Java 特性。 本文介绍了 Java 13 的新特性并展示了相关的示例。
本文介绍了如何从 Angular 中的 URL 获取查询参数。
当往MongoDB中插入一条数据时,会自动生成ObjectId作为数据的主键。 那么如何通过ObjectId来做数据的唯一查询呢?
《Angular 企业级应用开发实战》一书已于近日出版上市。概述特点归纳如下。
mysql模块(项目地址为https://github.com/mysqljs/mysql)是一个开源的、JavaScript编写的MySQL驱动,可以在Node.js应用中来操作MySQL。但在使用过程中,出现了“ER_NOT_SUPPORTED_AUTH_MODE”问题。
本文介绍了出现该问题的原因及解决方案。
12-Factor(twelve-factor),也称为“十二要素”,是一套流行的应用程序开发原则。Cloud Native架构中使用12-Factor作为设计准则。
当今软件行业正发生着巨变。自上世纪50年代计算机诞生以来,软件从最初的手工作坊式的交付方式,逐渐演变成为了职业化开发、团队化开发,进而定制了软件件行业的相关规范,形成了软件产业。
今天,无论是大型企业还是个人开发者,都或多或少采用了云的方式来开发、部署应用。不管是私有云,还是公有云,都终将给整个软件产业带来的革命。个人计算机或者以手机为代表的智能设备已经走进寻常百姓家了。每个人几乎都拥有手机,手机不仅仅是通信工具,还能发语音、看视频、玩游戏,让人与人之间的联系变得更加紧密。智能手环随时监控你的身体状况,并根据你每天的运动量、身体指标来给你提供合理的饮食运动建议。出门逛街甚至不需要带钱包了,吃饭购物搭车时使用手机就可以支付费用,多么方便快捷。智能家居系统更是你生活上的“管家”,什么时候该睡觉了,智能家居系统就自动拉上窗帘,关灯;早上起床了,智能家居系统会自动拉开窗帘,并播放动人的音乐,让你可以愉快地享受新的一天的来临;你再也不用担心家里的安全情况,智能家居系统会帮你监控一切,有异常情况时会及时发送通知到你的手机,让你第一时间掌握家里的状况。未来,每个人都能够拥有《Iron Man》(钢铁侠)中所描述的智能管家 Jarvis。而这一切,都离不开背后那个神秘的巨人——分布式系统。正是那些看不见的分布式系统,每天处理着数以亿计的计算,提供可靠而稳定的服务。这些系统往往是以 Cloud Native 方式来部署、运维的。
目前,越来越多的企业已经在大规模开始拥抱云,在云环境开发应用、部署应用、发布应用。Cloud Native(云原生)是以云架构为优先的应用开发模式。那么,为什么说 Cloud Native 是未来开发应用的趋势呢?本文一一解答。
Cloud Native(云原生)是以云架构为优先的应用开发模式。目前,越来越多的企业已经在大规模开始拥抱云,在云环境开发应用、部署应用、发布应用。未来,越来越多的开发者也将采用 Cloud Native 来开发应用。
那么为什么Cloud Native模式会越来越流行?Cloud Native与微服务有什么区别?何时选择使用Cloud Native?等等,这些问题将在本文一一解答。
本文列举了开发者经常会使用的软件及下载方式。这些软件也是笔者电脑里面常用的软件。
大家对于 Spring 的 scope 应该都不会默认。所谓 scope,字面理解就是“作用域”、“范围”,如果一个 bean 的 scope 配置为 singleton,则从容器中获取 bean 返回的对象都是相同的;如果 scope 配置为prototype,则每次返回的对象都不同。
一般情况下,Spring 提供的 scope 都能满足日常应用的场景。但如果你的需求极其特殊,则本文所介绍自定义 scope 合适你。
本文介绍Sidecar模式的特点,及其应用的场景。熟悉Native Cloud或者微服务的童鞋应该知道,在云环境下,技术栈可以是多种多样的。那么如何能够将这些异构的服务组件串联起来,成为了服务治理的一个重大课题。而Sidecar模式为服务治理,提供了一种解决方案。
2019年快来了,为了答谢各位关注老卫的读者朋友,特送《Spring 5开发大全》三本,无套路,快上车。
在前后台分离的应用中,Angular 与 Java 是一对好搭档。但是如果是分开部署应用,则势必会遇到跨域访问的问题。
有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到。此时,就需要
自定义Maven的<repositories>
。
Spring 5 是一个重要的版本,距离 Spring 4 发布有四年多了。通过本文的介绍,我们一起来快速了解 Spring 5 发行版中的那些令人兴奋的特性。