框架

2020 年 JVM 生态报告解读

烂漫一生 提交于 2020-03-05 12:15:11
前言 做过 Java 开发的同学都知道, JVM(Java 虚拟机) 是 Java 实现的基础,虽然在平时工作中真正运用到的时候可能并不多,但是一个程序员想要上升到高级层次,那就必须知道 Java 到底是怎么运行的,这就有必要去学习了解 JVM 的相关知识了。学习 JVM 可以能更深入的理解 Java 这门语言,可以清楚知道Java程序是如何执行的以及为未来排查线上问题打下坚实的基础。接下来我们看看 2020 年的 JVM 生态报告和最新趋势,值得我们每个 Java 开发者去关注了解。 JDK 厂商占比 Oracle JDK 和 Open JDK 加起来占比将近 60% ,其中 Oracle JDK 占比略多一些, Oracle JDK 和 Open JDK 都是市场上的热门选择,我们看看二者之间的一些差异。 Oracle JDK 更多的关注稳定性,更适合企业级用户,而 Open JDK 相对而言没有那么稳定,它会经常发布一些新特性。 Oracle JDK 支持长期发布的更改,而 Open JDK 仅支持计划和完成下一个发行版,还有一个就是 Oracle JDK 是根据 二进制代码许可协议 获得许可,而 Open JDK 是根据 GPL v2 许可获得许可。使用 Oracle 平台时会产生一些许可影响。如 Oracle 宣布的那样,在没有商业许可的情况下,在 2019 年 1

推荐系统算法框架

心不动则不痛 提交于 2020-03-05 12:08:24
在介绍矩阵分解之前,先让我们明确下推荐系统的场景以及矩阵分解的原理。对于 推荐系统来说存在两大场景即评分预测(rating prediction)与Top-N推荐 (item recommendation,item ranking)。 评分预测场景主要用于评价网站,比如用户给自己看过的电影评多少分(MovieLens),或者用户给自己看过的书籍评价多少分。其中矩阵分解技术主要应用于该场景。 Top-N推荐场景主要用于购物网站或者一般拿不到显式评分信息的网站,即通过用户的隐式反馈信息来给用户推荐一个可能感兴趣的列表以供其参考。其中该场景为排序任务,因此需要排序模型来对其建模。因此,我们接下来更关心评分预测任务。 Ref: https://zhuanlan.zhihu.com/p/35262187 Ref: https://zhuanlan.zhihu.com/p/27502172 来源: CSDN 作者: 人鱼线 链接: https://blog.csdn.net/qfikh/article/details/104655674

Spring面试笔记

时光总嘲笑我的痴心妄想 提交于 2020-03-05 12:04:54
1. Spring工作机制及为什么要用? Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。Spring既是一个AOP框架,也是一IOC容器。 SpringFramework的组成:Spring AOP,Spring DAO,Spring ORM,Spring Web,Spring Context, Spring Web MVC。 Spring的核心就是IOC和AOP,所以Spring的工作机制简单的理解也就是IOC和AOP的工作机制。 借助于Spring AOP,Spring IoC能够很方便的使用到非常健壮、灵活的企业级服务,通过使用IoC能够降低组件之间的耦合度,最终,能够提高类的重用性,利于测试,而且更利于整个产品或系统集成和配置。 2. 说说AOP和IOC的概念以及在spring中是如何应用的? AOP,Aspect Oriented Program,面向(方面)切面的编程; IOC,Invert Of Control,控制反转。 简单说一下,IOC就是其实就是依赖注入,即用接口编程,在程序中不出现new关键字,而是用接口来命名引用,然后通过某种方式把接口的某个实现类的实例注入到引用里,从而实现接口与具体实现类的松耦合。 由容器控制程序之间的关系(通过XML配置),而非传统实现中的由程序代码直接操控,(在一个Class对象中引用另一个Class对象时

对前后端分离的理解

a 夏天 提交于 2020-03-05 10:15:21
对于前后端分离该怎样理解? 不能把对前后端分离的理解拘束在某个具体的框架或者技术中,这样会太过于局限。 以前,后端开发相较于前端更有牌面,很多公司没有前端工程师这个职位,前端的工作都由后端来做,例如JSP就是一个前后端耦合的技术,需要不停的套模板。现在很多的服务都开始web化,那么前端需要展示的东西就变得越来越而复杂,这种时候JSP这种套模板的技术就没有办法高效开发。在本质上,前端当时没有像Spring这样对于后端有着工程化,模式化的思想。所以出现了很多效率低下的问题,前端工作变得越来越繁复,所以需要前后端的分离。前端也需要工程化模式化的去做,从本质上来看前后端分离不是一个技术问题,而是一个工程化的考量和一个项目管理的问题,前端开发十分的繁琐,不停的复制粘贴,东拼西凑,不像Java那样便于管理,所以像Vue.js和React,js这些前端框架的出现本质上改变了前端开发,所以我们管这些框架叫:前端开发工程性框架,至此前端开发才变得有章可循。 前后端分离该怎样实施? 在开发的四大步中,设计、开发、测试、部署,前后端分离应该渗透到每一步中。 第一个阶段设计阶段:第一个层面是系统设计阶段,后端开发比较好理解,包括系统架构设计,数据库,中间件,缓存等,考虑容量,扩展性,可维护性等问题。前端也应该如此,前端的页面很多很复杂,前端的项目架构应该做好充足的准备,一定要满足长期性可演变可进化的目标。

关于工作中用过的内容!

旧时模样 提交于 2020-03-05 08:04:40
layui layui,是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到 API 的每一处细节都经过精心雕琢,非常适合界面的快速开发。layui 首个版本发布于2016年秋,她区别于那些基于 MVVM 底层的 UI 框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,她更多是为服务端程序员量身定做,你无需涉足各种前端工具的复杂配置,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。 jQueryEasyUI jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。 MiniUI MINIUI是一款优秀的JS前端web框架,提供丰富、强大控件库,能快速开发企业级Web应用软件。该软件以美观精致的界面和快速的页面响应速度获得用户的好评。是国内知名的前端框架之一,可供.NET、java、php等主流编程语言配合使用。 Bootstrap (Web框架) Bootstrap是美国Twitter公司的设计师Mark

AJAX(二)AJAX框架

谁都会走 提交于 2020-03-05 03:12:50
上文( AJAX(一)AJAX的简介和基础 )对ajax异步请求服务器做了详细的介绍和基础应用,可以看出,ajax的一些过程是相对不变的。不必要每次发送请求都写一遍发送代码,一些ajax开发人员已经把他们的过程封装成ajax框架。 本节主要介绍ajaxLib和ajaxGold两款框架。 1.ajaxLib ajaxLib是一个非常小巧的ajax框架。 使用它首先将文件使用引入到页面中。改框架是一个直接获取XML的框架,调运函数如下: loadXMLDoc(url,callback,boolean) 其中,url为异步请求的地址,callback为请求成功之后返回之后调运的函数名称;boolean表示是否去掉XML文档中的空格,true为去掉空格 如: <input type="button" value="display" onclick="loadXMLDoc('1-7.aspx',decodeXML,false);" /> 采用AjaxLib框架返回的XML文档保存在全局变量resultXML中,可以再decodeXML中编写程序对其进行分析,例如: function decodeXML(){ var oTemp =resultXML.getElementsByTagName("temp"); document.getElementById("targetID")

day67 JavaWeb框架阶段—SpringDataJPA【03】(Specifications动态查询 多表设计 JPA中的一对多 JPA中的多对多 对象导航查询 )

放肆的年华 提交于 2020-03-05 01:02:25
今日内容:SpringDataJPA第三天 今日源码: 链接: https://pan.baidu.com/s/1WsyZhl5pf-s_7_5grBXGpw 提取码:6qoc 第1章 Specifications动态查询 有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询。相比JPQL,其优势是类型安全,更加的面向对象。 import java . util . List ; import org . springframework . data . domain . Page ; import org . springframework . data . domain . Pageable ; import org . springframework . data . domain . Sort ; import org . springframework . data . jpa . domain . Specification ; /** * JpaSpecificationExecutor中定义的方法 **/ public interface JpaSpecificationExecutor < T > { //根据条件查询一个对象 T

什么是web框架?

跟風遠走 提交于 2020-03-04 21:55:10
框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演。 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。 1 import socket 2 3 def handle_request(client): 4 5 buf = client.recv(1024) 6 client.send("HTTP/1.1 200 OK\r\n\r\n".encode("utf8")) 7 client.send("<h1 style='color:red'>Hello, yuan</h1>".encode("utf8")) 8 9 def main(): 10 11 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 12 sock.bind(('localhost',8001)) 13 sock.listen(5) 14 15 while True: 16 connection, address = sock.accept() 17 handle_request(connection) 18 connection.close() 19 20 if __name__ ==

mPaaS iOS框架笔记6->强大的应用上下文

怎甘沉沦 提交于 2020-03-04 18:41:02
从微应用与微服务的调用过程我们可以看出,我们获得依赖对象的过程被反转了,即把需要自己主动进行的实例化操作交给了容器(或者框架)。 根据官方手册,应用上下文与微服务与微应用是一种依赖关系,如下图所示: 按照uml所示,微服务与微应用应该是分别遵循了两个协议,但是我们在官方demo中发现,如果不遵循此协议,也是可以运行的,无论是微服务还是微应用,都可以仅在plist文件里登记的情况下,完成相应的操作 可以在不遵循相关协议的情况下,实现相关的方法: 这块令人颇为费解,在plist里面注册了,就是微应用?不需要遵循协议? 来源: CSDN 作者: TianBL2017 链接: https://blog.csdn.net/qq_34241037/article/details/104652990

.NET Standard 、.NET Core、 .NET Framework的区别

守給你的承諾、 提交于 2020-03-04 17:50:54
区别: 1、.NET Standard 托管框架的每一种实现都有一套自己的基类库。基类库(BCL)包含诸如异常处理、字符串、XML、I/O、网络和集合这样的类。 .NET Standard 是一项实现BCL的规范。由于.NET实现需要遵循这项规范,所以应用程序开发人员就不用担心每一种托管框架实现的BCL不同。 框架类库(FCL),如WPF、WCF、ASP.NET,不包含在BCL中,因此,也就不包含在.NET Standard中。 .NET Standard与.NET实现之间的关系就和HTML规范与浏览器之间的关系一样。后者是前者的实现。 因此,.NET Framework、Xamarin和.NET Core,每一种托管框架都实现了.NET Standard中的BCL。 2、.NET Framework 用于构建桌面应用程序和运行在互联网信息服务器(IIS)上的ASP.NET应用程序。它是第一个托管框架。 3、 .NET Core 免费、跨平台的,是托管框架的开源实现。它支持4种类型的应用程序:控制台、 ASP.NET Core 、云和 通用Windows平台 (UWP)。 Windows Forms 和 Windows Presentation Foundation (WPF)并不包含在.NET Core中。 从技术上讲,.NET Core 仅支持控制台应用程序 。 ASP.NET