-
OPPO Android 开发技术面总结
今天早上参加了深圳 OPPO 开发工程师的技术面试,总的来说面试过程不是很顺利。面试官并没有问一些很深奥的底层原理,基本都是一些 Java 基础以及 Android 四大组件内的基础,但是我自身在开发过程中并没有很重视这些理论基础,导致很多知识点都忘记了。整个面试过程耗时一小时,感谢两位面试官不厌其烦地给我提示,一方面让我能够回想起来那些遗忘的知识点,另一方面也缓解了尴尬的气氛...
-
连接池的基本工作原理
连接池的基本工作原理1、基本概念及原理由上面的分析可以看出,问题的根源就在于对数据库连接资源的低效管理。我们知道,对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配?释放所造成的问题。为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需...
-
Spring Boot 2.3 终于要来了!
2020/04/06日消息:https://spring.io/blog/2020/04/03/spring-boot-2-3-0-m4-available-nowSpring团队正式发布了 Spring Boot 2.3 的第 4 个里程碑版本,现在可以从 Spring 的里程碑仓库获取了:https://repo.spring.io/milestone/这个版本主要关闭了 ...
-
惊呆了,Spring Boot居然这么耗内存!
Spring Boot总体来说,搭建还是比较容易的,特别是Spring Cloud全家桶,简称亲民微服务,但在发展趋势中,容器化技术已经成熟,面对巨耗内存的Spring Boot,小公司表示用不起。如今,很多刚诞生的JAVA微服务框架大多主打“轻量级”,主要还是因为Spring Boot太重。JAVA系微服务框架No1-Spring Cloud介绍有Spring大靠山在,更新、...
-
告别996 !.Net Core开源模块化快速开发解决方案——NetModular
介绍NetModular 是一个以模块化为核心的快速开发框架,能够让中小企业快速从零搭建自己的开发平台;开箱即用,让开发者专注于自己的业务开发,以模块化的方式,最大化的代码复用,避免重复开发,拒绝 996,让广大程序员有更多的时间放飞自我。仓库Giteehttps://gitee.com/laoli/NetModularhttps://gitee.com/laoli/NetMo...
-
springboot整合netty替代websocket
步骤 1 先写好基本的Netty客户端和Netty服务的代码。参考文章【netty技术基础入门】2.搭建好基本的Springboot项目。3.将Netty服务端代码的启动代码和关闭代码分离,服务端加上@Component注解,交由Spring管理实例。4.Springboot启动时,将Netty服务给启动;同时Springboot停止时,将Netty服务销毁。 实现 Nett...
-
netty技术基础入门
简介 官网简介 Netty is an asynchronous event-driven network application frameworkfor rapid development of maintainable high performance protocol servers & clients. Netty是一个异步事件驱动的网络应用程序框架,...
-
PHP2020年趋势
您在2020年特别感谢哪种工具,框架或功能,为什么呢?Ralf Geschke(软件开发人员和PHP老手):它与PHP没有直接关系,但是Web应用程序近年来发生了变化,因此我必须在这里提名Vue.js。在JavaScript库的第一个版本之后,我将Vue.js视为下一代JavaScript框架的代表,这些框架不仅使前端开发变得更加容易,而且还很乐于脱离后端。特别是在Vue.js...
-
ElasticSearch安装详解及采坑
ElasticSearch是一个分布式的,高性能,高可用的,可伸缩的搜索和分析系统(1)可以作为大型分布式集群(数百台服务器)技术,处理PB级的数据,服务大公司;也可以运行在单机上服务于小公司(2)Elasticsearch不是什么新技术,主要是将全文检索、数据分析以及分布式技术,合并在了一起,才形成了独一无二的ES:lucene(全文检索),商用的数据分析软件,分布式数据库(...
-
高逼格开源聊天系统 推荐 Spring+Netty+Websocket实现
很多技术人对聊天系统比较感兴趣,当年马哥,靠一个聊天系统搞出一个帝国,所以聊天系统对技术人心中总有一种好感。今天推荐一个聊天开源聊天系统,大伙有空可以学习下,提高下;github开源地址:https://github.com/Kanarienvogels/Chatroom互联网实时聊天系统 (Spring + Netty + Websocket)0. 前言最近一段时间在学习Ne...
-
Spring Boot 如何整合多个数据源?
SpringBoot现在是很多很多公司应用的后端框架,因为它搭建快,能更好、更快速的整合其他第三方。那么随着业务的不断扩展,业务量的增加,这时候就会牵扯到分库分表,虽然这个词听起来很熟悉,作为程序员也很容易理解,但是我想应该也有不少读者没接触过分库分表,今天我们不聊如何分库分表,而是聊SpringBoot如何整合多个数据源的事情。也就是如何接入不同的(多个)数据库。我们直接开始...
-
几分钟学会:SpringBoot2.0整合C3P0、Druid数据库连接池
SpringBoot整合数据库连接池其实是很简单的,不管是c3p0还是Druid,步骤都一样,都是在pom.xml中加入依赖,在application.yml加入连接信息,再加上一个配置类即可。一、整合C3P01、pom.xml加入如下依赖<dependency> <groupId>com.mchange</groupId> &l...
-
基于canvas的JavaScript 二维码生成工具——QRCanvas
介绍在我们日常的开发中,特别是在现代的社会环境下,二维码的应用可谓是丰富多彩,各种各样让人眼花缭乱的二维码,可见二维码已经渗透进我们生活的方方面面,也可以说目二维码确确实实方便了我们的生活。因为作为开发人员,很多项目都会用到二维码,最多的莫过于生成二维码,而如今Web应用盛行,那么就有这样一个二维码生成的Javascript库诞生了,它仅仅依赖与canvas,因此它支持大多数浏...
-
Java程序员必须了解的20个lib库
一般一个经验丰富的开发者,一般都喜欢使用开源的第三方api库来进行开发,毕竟这样能够提高开发效率,并且能够简单快速的集成到项目中去,而不用花更多的时间去在重复造一些无用的轮子,多了解一些第三方库可以提高我们的开发效率,下面就来看一下在开发过程中经常会用到的一些开发第三方库,也可能不是太全,就列举一些常见或者常用的吧。1,日志库日志库是最常用的,毕竟在开发项目的过程中都需要使用日...
-
【开源资讯】禅道 12.2.stable 版本发布,增加父子需求功能
前言禅道项目管理软件集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程。禅道官网:www.zentao.net大家好,禅道项目管理软件开源版12.2.stable发布,该版本主要增加父子需求功能,兼容喧喧3.2.1版本。父子需求功能可以让用户更方便的管理需求。父需求这一层级的需求不可关联进计划和项目中...
-
Spring Boot Actuator:健康检查、审计、统计和监控
Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查、审计、统计和HTTP追踪等。所有的这些特性可以通过JMX或者HTTP endpoints来获得。 Actuator同时还可以与外部应用监控系统整合,比如 Prometheus, Graphite, DataDog, Influx, Wavefront, New Relic等。这...
-
Diboot 2.0.5 发布,自动化开发助理
一、前言Diboot 2.0.5版本已于近日发布,在此次发布中,我们新增了file-starter组件,完善了iam-starter组件,对core核心进行了相关优化,让devtools也支持对IAM与File组件相关代码进行自动化处理。除此之外,我们还为您准备了两套前端基础项目,分别是基于 Antd Pro Vue 和 基于 Vue Element Admin 的项目,有助于...
-
手把手带你入门 Spring Security,别再问密码怎么解密了
1.新建项目首先新建一个 Spring Boot 项目,创建时引入 Spring Security 依赖和 web 依赖,如下图:项目创建成功后,Spring Security 的依赖就添加进来了,在 Spring Boot 中我们加入的是 spring-boot-starter-security ,其实主要是这两个:项目创建成功后,我们添加一个测试的 HelloControl...
-
iOS\iPadOS 13.4、watchOS 6.2、macOS10.15.4正式版发布
3月25日消息,苹果于今日发布了iOS\iPadOS 13.4、watchOS 6.2、macOS10.15.4的正式版。iOS\iPadOS 13.4iOS和iPadOS 13.4距离上个版本iOS 13.3.1发布相隔两个月的时间。在此次更新中,苹果主要带来新的拟我表情贴纸和从“文件”App共享iCloud云盘文件夹的功能。另外,还包含错误修复...
-
PHP 7.4.4 发布
PHP 是一种广泛使用的通用脚本语言,特别适合于 Web 开发,并且可以嵌入 HTML 中。 PHP 7.4.4 版本现已发布,具体更新内容如下: Core 修复了错误 #79329(get_headers() 在一个空字节后默默地截断)(CVE-2020-7066) 修复了错误 #79244 (PHP 在解析 INI 文件时崩溃) 修复了错误 #63206(restore_e...
-
如何在Spring Boot应用程序上启用HTTPS?
HTTPS是HTTP的安全版本,旨在提供传输层安全性(TLS)[安全套接字层(SSL)的后继产品],这是地址栏中的挂锁图标,用于在Web服务器和浏览器之间建立加密连接。HTTPS加密每个数据包以安全方式进行传输,并保护敏感数据免受窃听者或黑客的攻击。自签名证书其实可以使用位于JDK bin文件夹下的Keytool生成证书。例如,C:\ Program Files \ Java ...
-
如果面试官问你MyBatis SQL是如何执行的?这里会有你想要的答案
初识 MyBatisMyBatis 是第一个支持自定义 SQL、存储过程和高级映射的类持久框架。MyBatis 消除了大部分 JDBC 的样板代码、手动设置参数以及检索结果。MyBatis 能够支持简单的 XML 和注解配置规则。使 Map 接口和 POJO 类映射到数据库字段和记录。MyBatis 的特点那么 MyBatis 具有什么特点呢?或许我们可以从如下几个方面来描述:...
-
一个HashMap能跟面试官扯上半个小时
前言HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。开场面试官: 你先自我介绍一下吧!安琪拉: 我是安琪拉,草丛三婊之一,最强中单(钟馗不服)!哦,不对,串场了,我是**,目前在--公司做--系统开发。面试官: 看你简历上写熟悉Java集合,HashMap用过的吧?安琪拉: 用过的。(还是熟悉的味道)面试官: 那你...
-
十分钟上手 ES 2020 新特性
ES2020 是 ECMAScript 对应 2020 年的版本。这个版本不像 ES6 (ES2015)那样包含大量新特性。但也添加了许多有趣且有用的特性。本文以简单的代码示例来介绍 ES2020新特性。这样,你可以很快理解这些新功能,而不需要多么复杂的解释。可选链操作符(Optional Chaining)可选链 可让我们在查询具有多个层级的对象时,不再需要进行冗余的各种前置...
-
JDK1.8中的双冒号::是什么语法?
方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式静态方法引用,通过类名::静态方法名, 如 Integer::parseInt实例方法引用,通过实例对象::实例方法,如 str::substring构造方法引用,通过类名::new, 如 User::new二:方法引用public final class Integer { p...
-
jquery如何自定义函数供全局使用
前言:使用过java开发的同学,在开发某个模块时,可肯定会将公共的代码抽离出来,放在一个公共的类里,这样以后用到这个模块,直接调用就可以了。不用在每个类里面都重复的写着同样的代码。而且一定这个方法有问题,我们只修改这个方法就行了,不需要去每个类里面都改一遍。那么前端是否也可以这样实现呢?我这里使用2种方式。第一种:jquery的extend方法首先看下jquery自带的方法cs...
-
Visual Studio 2019 版本新增的一些实用的功能
本次新增的功能回顾:开发:通过提高性能、即时代码清理和更好的搜索结果,保持专注和高效。协作:通过 Git 优先工作流、实时编辑和调试以及 Visual Studio 中的代码评论,享受自然协作。调试:突出显示并导航到特定值,优化内存使用,并自动拍摄应用程序执行的快照。改进的搜索新搜索体验以前称为快速启动,更快、更高效。现在,搜索结果在键入时动态显示。而且,搜索结果通常可以包括命...
-
震惊!springboot内存泄露,排查竟这么难!
背景为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+A...
-
2019年腾讯PHP工程师面试题及答案
一、单选题(共29题,每题5分)1.PHP执行的时候有如下执行过程:Scanning(Lexing) - Compilation - Execution - Parsing,其含义分别为:A、将PHP代码转换为语言片段(Tokens)、将Tokens转换成简单而有意义的表达式、顺次执行Opcodes、将表达式编译成OpocdesB、将PHP代码转换为语言片段(Tokens)、将...
-
mybatis打印带参数sql几种实现方式及优缺点
mybatis打印带参数sql几种实现方式及优缺点1. log4jdbclog4jdbc是google开源的用于专们打印sql日志的工具jar包,使用方法很简单。第一步:引入maven包,如下:<dependency><groupId>com.googlecode.log4jdbc</groupId><artifactId>lo...