几个常用的概念问题

【代码】c++几个常用的函数 c++函数 阅读详情

javabean和一般类的区别:

javabean组件,必须支持jdk1.1版本以上的Serialization模式
还有,它存取property时候必须使用开头为set/get名称的方法。
建立一个javabeans只有这两个限制,并无神奇之处。只要你建立一个类,然后实现java.io.serializable,同时使用get/set方法就可以了。

容器:

类似于IIS,  说白了,Tomcat是一个后台服务进程,其它的servlet(相当于DLL)是在Tomcat容器内运行,    Broswer只与Tomcat通迅; Tomcat接受browser的请求,经过一系列动作(如果是静态网页,那么装载,按http协议形成响应流;如果是动态的如JSP,那就要调用JDK中的servlet.jsp接口,解释形成静态网页,按http协议生成响应流发送回browser)后,形成静态网页,返回响应。其实:Tomcat,IIS...等这些都是应用层上(TCP/IP中的划分)的,应用服务器(或叫http服务器)和ftp服务器同属一层中.

何谓"容器"?

说穿了没什么特别的地方,而且在我们的世界里面司空见惯。容器就是一组提供一系列服务的管理器,只要你符合容器的服务要求(规范)
容器就可以让你使用范围内的管理服务. 早在Web流行的时候,http container就为我们提供解析Html的能力,
让我们的html代码可以通过http协议来发布到internet.随着web应用的推广,动态语言的发展,http容器逐步
可以用指定的接口来解释特殊文件中的特殊片断,如:php,asp等等。那么让我们揭开容器的盖子,看看里面都有什么(服务).

1,生命周期管理
- 既然要管理运行的组件(或程序片断),至少可以通过某种方法在需要它的时候创建,没用的时候销毁。

2,查询定位
- 通过一定的策略(通常用文件名称)确定需要调用哪个组件或者资源,这可是作为管理器的主要工作。

3,配置器
- 提供静态配置策略。让用户可以控制服务的细节部分。如,资源在哪里等等

4,依赖解析
- 如果组件之间存在关系,或者需要相互通讯。那么至少要保证他们都是"活"的。这就需要分析出之间的依赖关系,动态管理。

5,不同协议层的通讯支持
- 对于程序片断不是自己就可以完成所有的计算的,还需要和不同的系统(平台)进行通讯,如用JDBC和数据存储数据库,用RMI分布组件

6,扩展支持
-扩展服务项不仅是容器需要的,也是任何软体需要的。比如说,增加安全策略。

何谓"轻量级"?
既然是"轻",那就是比较"重"的而言."重"的典型代表就是EJB,EJB提供了一系列"重量级"企业级服务,并可以让你开发的组件可以很好的
集成EJB容器所提供的企业级服务,如JTA等。那么既然有了"要嘛有嘛"的服务容器,为什么还需要"轻量级"呢?这是一个好问题。
对于全面的EJB容器,虽然给了我们看起来完整的服务策略,但是,EJB不是雷锋,它也给我们带来了许多负面效果。有过EJB经验的人们
深有感触:
1,部署复杂,运行缓慢
2,内在服务多,启动慢
3, 规则特多,空间很小
4,难预测试(调试)
...

EJB容器的服务往往是"买一送三",不要都不行。我只需要JTA,而真的不需要JMS.
所以,在这个"对我没用的都是垃圾"的世界里,我们就需要"可选择型"的服务容器,让那些对我们没用的服务不要站在这里碍事。
可选择性就是轻量级容器的目标之一。


"轻量级"在哪里?
容器的服务既然可以DIY了,那么确实看上去"轻"了许多。但是,事情并非如此简单。
在开始之前,先来回顾一下几个关键词
1,封装
Java本身在照顾到非java程序员接受程度和配合市场宣传的"running anywhere",不得不将一些
非面向对象的特性语法加入其中。"是否破坏了封装?",称为Java十年来争议最多的问题。

2,组件式开发
这个词在软件的圈子里显得技术含量很高,但是,在硬件范围里,哪个硬件不是组件式的呢?你的计算机里就是各式各样的组件,
他们靠各个接口(插槽)集成工作。甚至你正在看得数字电视机顶盒也是一个标准的组件。

3,Running Anywhere
这个词伴随着一杯黑咖啡进入我们的世界,虽然现在已经变成了"Debug Anywhere",但是,这一直是我们的目标。


轻量级容器就是以这几个为目标的解决方案。
面对封装,组件粒度一直是SA的最大问题。根据EJB模型,EJB组件让我们把业务组件封装成粗粒度的业务组件。轻量级容器这可以定义更为细粒度的组件,甚至这个组件只有一个对象.以依赖注入(Dependency Injection,DI)为代表的解耦模式,可以让组件不去依赖容器(运行环境)的API。DI作为容器的管道,承担中间人的角色,让使用者(component)和提供者毫无关联。对于以何种粒度去设计业务组件,这就是业务的具体需求所决定的,任何框架都帮不了你。 而轻量级容器提供技术方面的支持也绝对让你有的放矢。

面对组件,真正的组件就像你手里的U-disk,插到USB上就可以享受其功能。轻量级容器通过反向控制(Inversion of Control,IoC)让容器具有主动权,去管理插进来的组件。只要组件是符合标准的,就可以被
轻量级容器管理。 面对Running Anywhere,轻量级容器让组件以POJO的形式存在,只要你有java.exe就可以运行它。 这样,组件根本就是一个独立的功能集成类,根本不需要容器就可以实现测试行为。

以上三点,给我们带来的好处不仅如此,我们伴随着还将重用,生产力,测试(质量),移植性等各个方面受益,这里就不多啰嗦了。

轻量级容器的现状

目前,轻量级容器在open source范围已经得到了广泛的认可,而且,作为下一代J2EE构架的基础有着无法比拟的优势。 当前,已存在的轻量级容器框架中,有绝大部分来自open source社群,这给我们对这项技术的了解降低了门槛。

几个CUDA常用代码 向量点积 #include "stdio.h" #include<iostream> #include <cuda.h> #include <cuda_runtime.h> #define N 1024 #define threadsPerBlock 512 __global__ void gpu_dot(float *d_a, float *d_b, float *d_c) { //Declare shared memory __shared__ float p 阅读详情

相关推荐

常用的几个测试网络连接的命令

记录几个常用的测试网络连接的dos命令。 ping tracert netstat ipconfig/all 1.ping命令是用来测试网络之间是否能够连通以及网络之间的传输速度。例:测试网卡,TCP/IP协议是否可用,如果发送的数据包数目等于接收的数据包数目(也就是本机能够接收到目的地址发送的数据包),就证明网卡正常,TCP/IP协议可用。 127.0.0.1是本地回环地址,也就是本机地址( 自

. 6万+

Vector初始化与常用函数以及几个K问题

Vector_c++vector:定义说明初始化常用函数几个K问题 vector: 定义说明 vector是已经被封装好了的动态数据可以被直接调用,可以存储多种类型的数组,所以可以称之为动态数组。 进行vector操作前需要定义头文件#include<vector> 初始化 常用函数 几个K问题 ...

Fogo_XD的博客 355

Dockerfile常用的几个指令

Dockerfile是Docker镜像的构建设定文件,包含了一系列指令来定义镜像的构建过程。以下是几个最常用的指令简介:

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 4835

Git最常用的几个操作

Git最常用的几个操作 转至元数据结尾 转至元数据起始 上面这张图是我最开始学Git,按照自己的理解画出来的,可能会有问题,但总体问题不大。 其实Git是个非常复杂的系统,很多细节的特性,平时用到的不多,我也不太清楚,这篇文章只说我日常开发中最常用的操作。 git clone 作用 将

Richard_Jason的专栏 6776

Minecraft Forge模组开发入门:从环境搭建到事件监听实战

事件驱动编程是一种基于事件和事件监听器的软件架构模式,其核心原理是通过事件总线实现组件间的松耦合通信。在游戏开发领域,这种模式能够有效处理玩家交互、状态变更等异步操作,具有高度的灵活性和可扩展性。Java作为面向对象编程语言,通过注解和反射机制为事件驱动提供了天然支持。Minecraft模组开发正是事件驱动编程的典型应用场景,开发者可以利用Forge框架提供的事件总线监听游戏内各种行为。本文以Minecraft Forge模组开发为例,详细讲解如何通过Gradle构建工具搭建开发环境,并实现自定义方块注册和

culi3182的博客 395

GAMES101作业3-遇到的各种问题及解决方法

记录在做作业3时遇到的一些坑!以及最后的解决办法。

qq_41835314的博客 6819

几个主要的概念&常用缓存注解#

  几个主要的概念&常用缓存注解#      名称 解释      Cache 缓存接口,主要实现由 RedisChache, EhCacheCachem , ConcurrentMapCache      CacheManager 缓存管理器,管理存放着不同类型的缓存 Cache 组件      @Cacheable 加在方法上,根据方法的请求参数对结果进行缓存 ...

li123128的博客 450

思科模拟器CIsco Packet Tracer利用三层交换机实现VLAN间路由

版权声明:如果对大家有帮助,大家可以自行转载的。 1.技术原理: 三层交换机具备网络层的功能,实现 VLAN 相互访问的原理是:利用三层交换机的路由功能,通过识别数据包的 IP 地址,查找路由表进行选路转发,三层交换机利用直连路由可以实现不同 VLAN 之间的相互访问。三层交换机给接口配置 IP 地址。采用 SVI(交换虚拟接口)的方式实现 VLAN 间互连。SVI 是指为交换机中的VLAN 创建...

qq_37992321的博客 1万+

几个常用问题总结

Q:如何杀死父进程id=1的子进程? A:kill –9 命令可以强行终止某个进程。killall 程序的名字   Q:如何删除共享内存? A:先ipcs -m 看看那些shmid该删;然后ipcrm -m shmid。 命令是 ipcs -m | grep -i ****** | awk '{print $2;}' |xargs -l ipcrm -m    Q:如何在oracl

caianye的专栏 895

【SAP报错】BK128&K5112

在ECC中使用CO1F进行Progressive confirmation时,依次遇到了如下的报错。

weixin_45228526的博客 784

Ubuntu无桥接模式或连不上网(详细解决方法

目录 问题1:Ubuntu没有未桥接的主机网络适配器 解决方法 1.打开VMware安装目录下的文件 ​编辑2.右键安装以上三个文件 3.打开网络状态属性,找到VMware bridgeProtocol,点击安装 问题2.Ubuntu桥接模式连不上网 1.win+r打开cmd终端,输入ipconfig /all 2.记录以下数据 3.打开VMware网络设置 问题1:Ubuntu没有未桥接的主机网络适配器 VMWare安装之后,虚拟网络一直使用默认配置 VMnet0为...

m0_65592409的博客 6062

多线程的概念和几个常用的方法

在一个程序中,这些独立运行的程序片段叫作线程(Thread),利用它编程的概念就叫作“多线程处理”。那么,在操作系统中再引入线程则是为了减少程序并 发执行时所付出的时空开销,使操作系统具有更好的并发性。sleep()方法:该方法是让“当前正在执行的线程“休眠指定的时间,正在执行的线程是指 this.currentThread()返回的线程。如hadoop分布式集群。解释三:并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。

Star_Fell的博客 327

“反激电源”是AC/DC隔离电源还是DC/DC隔离电源?

所以在一些场景,我们的输入电压是一个DC,但是我们仍然需要隔离电源的需求,我们就会只采用图9.2的右半部分。在这个场景下“反激电源”是DC/DC。所以此AC/DC的本质是将AC变成高压的DC之后,用带隔离变压器的反激式开关电源产生一个隔离的、稳定的直流电压。一般在讲述各种电源的拓扑的文章和书籍都是在讲述AC/DC的电源拓扑分类的时候,讲述Flyback。反激式开关电源是指使用反激高频变压器隔离输入输出回路的开关电源,反激式隔离变压器开关电源重点表述的是开关电源包含变压器的拓扑结构。

qq_43416206的博客 1298

几个常用的函数原型

strcpy函数原型 char *strcpy(char *strDest, const char *strSrc)   {       if (strDest == NULL || strSrc == NULL)           return NULL;         if (strDest == strSrc)            return strDes

Jimy_Fengqi 8599

瑞数jsvmp算法还原流程讲解

​ 又是很久没写文章了,今天水一篇文章吧,鉴于之前有看到过别人的文章被警告的案例,所以这篇文章就仅写一下还原瑞数vmp的大概流程吧(仅记录下自己还原的思路)

博客 6608

AutoSAR配置视频讲解:简介

AutoSAR实验视频讲解:闪烁一颗LED实验【简介】 大家好,欢迎来到雪云飞星的《AutoSAR实验课的视频讲解》专栏。看过《AutoSAR入门到精通系列讲解》的朋友们应该对博主不陌生,有很多朋友加了博主的微信成为了好友,还有朋友约过线下见面,博主很高兴大家能从我的博客中获得一些收获。在专栏里博主挖了很多坑,当时也说过想要录制一个AutoSAR的配置视频教程,素材在20年初就已经录好,中间各种原因足足鸽了一年。当时因为一些技术原因只能通过博客的图文形式展示出来,现在我们剪辑了视频,请了专业的配音,希望以视

雪云飞星的博客 9655

BI 中几个常用的概念

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33698043的博客 358

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

泛微oa几个常用的js

泛微OA,常用JS   为满足一些简单需求,我从网上借鉴了大量的代码,其中几个是非常好用的。 (1).取值判断   通过jQuery('#field1234').val()取字段的值,field1234对应字段在数据库中的字段id.然而,取的值是字符串。即使整型取出来也是字符串,所以进行比较会出错哒。不过可以通过javascript的类型转换,转换成浮点类型来比较。   jQue...

Q972327024的博客 2161

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Java语言中几个常用的包

Java采用包结构来组织和管理类和接口文件。本文介绍Java语言类库中几个常用的包,因为这几个包在软件开发与应用中经常需要用到,其中有些包是必要的。若是离开它,还真不能做事情了。     第一个包:java.lang包。     阿情说:该包提供了Java语言进行程序设计的基础类,它是默认导入的包。该包里面的Runnable接口和Object、Math、String、StringBuffer、

数据人 4万+

几个常用的小函数

几个常用的小函数  

Air的博客 328

Java中几个常用类方法汇总

Java中几个常用类方法汇总,如:Integer,Character,String,StringBuilder,StringBuffer等

qq_43857727的博客 1485

解读P问题、NP问题、NPC问题的概念

P NP NPC NP-Hard

sp_programmer的专栏 6002

初学单片机几个不易掌握的概念

2006-04-28 10:50:57 初学单片机几个不易掌握的概念  随着电子技术的迅速发展,计算机已深入地渗透到我们的生活中,许多电子爱好者开始学习单片机知识,但单片机的内容比较抽象,相对电子爱好者已熟悉的模拟电路、数字电路,单片机中有一些新的概念,这些概念非常基本以至于一般作者不屑去谈,教材自然也不会很深入地讲解这些概念,但这些内容又是学习中必须要理解的,下面

mybirdsky的专栏 504

几个常用的jquery 方法

几个常用的jquery 方法 工作中,总结几个常用但不经常想到的jQuery的,会不定时的补充和更新〜 find() eq() is() if(!$("div").is(":animated")){//判断元素是否处于动画状态 //如果当前没有进行动画,则添加新动画 } hover() toggle(fn1,fn2,...,fn3) //点击div,内容会显示隐藏切...

weixin_40756572的博客 464

澄清P问题、NP问题、NPC问题的概念

Matrix67原创  http://www.matrix67.com/blog 你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题 了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才 行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容

touzani的专栏 1288

git的常用的几个命令

刚入职俩三个星期,公司里都是用的git和码云实现的多人开发,经过一个多星期的练习也渐渐熟练了git的使用. 现在给大家分享一下常用的几个命令吧 首先我们要先在命令框里输入这个命令 将存储库克隆到新目录中。(在这之前你要先安装好git并配好环境) git clone&amp;amp;lt;版本库的网址&amp;amp;gt;(https://gitee.com/zzfeiduJava/ShopProject.git) ...

一个努力奋斗的小白 4321
上一篇: 用rational rose 2003 设计商业销售系统
下一篇: 客户信用度后台准备
cnham
博客等级 码龄24年 264粉丝 166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值