首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java 征途:行者的地图

那时觉得用 Delphi 写 C/S 架构的程序没什么意思,Java 当时提出的 J2EE 规范概念,企业级架构感觉各种高大上,压抑不住内心的欲望就这么开启了 Java 的征途。...由 String 这个核心对象发散出去关于字符的编码,字符的字节表达(大端、小、网络字节序),对 GC 的影响,正则表达,模式匹配,这可能是 Java 里内涵最丰富的对象了。...相应就去彻底搞懂 TCP 的原理,Unix/Linux 下网络编程模型,几种不同的网络 IO 模型。...下面是我的第三张图,仅供走在 Java 征途上的同行者们参考。 而按这千差万别的地图走过的路径,正巧构成独一无二的你。 [1240] 即使你现在还没地图,但也别茫然而永远的驻足不前。

2.3K00
您找到你想要的搜索结果了吗?
是的
没有找到

设计模式的征途—18.策略(Strategy)模式

{ return this.Price; // 不满足任何条件则原价出售 } } }   客户调用代码如下...--------------"); }   虽然通过MovieTicket类实现了电影票的折后计算,该方案解决了电影票打折问题,每一种打折方式都可以称为一种打折算法,更换打折方式只需要修改客户代码中的参数...{ Console.WriteLine("儿童票:"); return price - 10; } }   (4)客户调用...4.2 主要缺点   (1)客户需要知道所有的策略类,并自行决定使用哪一个策略 => 只适用于客户端了解所有策略算法的情况。   ...(3)无法在客户同时使用多个策略类 => 客户每次只能使用一个策略类。 4.3 应用场景   (1)如果一个系统要动态地在几种算法之间选择其中一种 => 那就快用策略模式吧骚年!

35150

zabbix部署(Linux上部署监控被监控

slide show) (3)告警:(升级告警,规定时间内内解决不了的事情往上传) (4)数据存储:数据库有mysql,pgsql,时间序列数据库等等 三、程序构成 (1)zabbix_server:服务守护进程...:命令行工具,运行于agent,手动向server发送数据 (6)zabbixjavagateway:java网关 ?...①安装服务:yum install zabbix-server-mysql zabbix-get ②安装webGUI:yum install zabbix-web zabbix-web-mysql...③安装agent(可以监控自己):yum install zabbix-agent zabbix-sender ④zabbix server 数据库初始化:(将create.sql 导入到database...zabbix_agentd.conf 被动监控,agent等待server过来请求数据 passive checks related 下 Server=192.168.1.108 可以用逗号隔开授权的有哪些 主动监控:被监控把数据主动发给服务

1.3K40

设计模式的征途—5.原型(Prototype)模式

copy obj.attachmentList = this.attachmentList; return obj; } }   客户测试代码...客户测试代码: public static void Main() { // First version WeeklyLog log = new WeeklyLog...四、原型模式深入之原型管理器 4.1 何为原型管理器   原型管理器(Prototype Manager)将多个原型对象存储在一个集合中供客户使用,它是一个专门负责克隆对象的工厂,其中定义了一个集合用于存储原型对象...dictOD[key].Clone(); } }   这里PrototypeManager采用了单例模式(有利于节省系统资源),并通过一个Dictionary集合保存原型对象,客户便可以通过...(3)客户代码 public static void Main() { PrototypeManager pm = PrototypeManager.GetInstance

50330

设计模式的征途—11.外观(Facade)模式

,导致客户代码较为复杂,且在每次使用它们时很多代码都会重复出现。   ...外观模式主要包含两个角色:   (1)Facade(外观角色):在客户可以调用这个角色的方法,在外观角色中可以知道相关的子系统的功能和责任;在正常情况下,它将所有从客户发来的请求委派到相应的子系统中去...在新的设计中,客户只针对抽象外观类AbstractEncryptFacade进行编程。...五、外观模式小结 5.1 主要优点   (1)对客户屏蔽了子系统组件,减少了客户需要处理的对象数量并且使得子系统使用起来更加容易。   (2)实现了子系统与客户之间松耦合。   ...(2)客户与多个子系统之间存在很大的依赖性,引入外观类可以将子系统和客户解耦   (3)在层次化结构中,可以使用外观模式定义系统中每一层的入口,层与层之间不直接产生联系 => 通过外观类建立联系,降低层与层之间的耦合度

41120

设计模式的征途—9.组合(Composite)模式

item in textList) { item.KillVirus(); } } }   (3)客户调用...(2)系统没有提供抽象层,客户代码必须有区别地对待充当容器的文件夹Folder和充当叶子的ImageFile和TextFile,无法统一对它们进行处理。   ...2.2 结构图   在组合模式中引入了抽象构件类Component,它是所有容器类和叶子类的公共父类,客户针对Component进行编程。组合模式结构如下图所示: ?   ...在具体实现时,可以创建图形界面让用户自己选择所需操作的根节点,无需修改源代码,符合开闭原则,客户无须关心节点的层次结构,可以对所选节点进行统一处理,提高系统的灵活性。...4.3 适用场景   (1)在具有整体和部分的层次结构中,希望通过一种方式忽略整体与部分的差异,客户可以一致地对待他们。   (2)在一个使用面向对象语言开发的系统中需要处理一个树形结构。

49140

设计模式的征途—13.代理(Proxy)模式

在软件开发中,有一种设计模式可以提供与代购类似的功能,由于某些原因,客户不想或者不能直接访问某个对象,此时可以通过一个称之为“代理”的第三者来实现间接访问,该方案对应的设计模式则被称为代理模式。...M公司开发人员已经完成了商务信息查询模块的开发任务,他们希望能够以一种松耦合的方式向原有系统增加身份验证和日志记录功能,客户代码可以无区别地对待原始的商务信息查询模块和增加新功能之后的商务信息查询模块...M公司开发人员通过分析,决定采用一种间接访问的方式来实现该商务信息查询系统的设计,在客户对象和信息查询对象之间增加一个代理对象,让代理对象来实现验证和日志记录功能,而无须直接对原有的商务信息查询对象进行修改...可以看重,代理模式的重点就在于引入了一个新的代理对象,代理对象可以在客户对象和目标对象之间起到中介的作用,去掉客户不能看到的内容和服务或者添加客户需要的额外服务。 2.2 代理模式结构 ?   ...4.2 应用场景   (1)客户需要访问远程主机中的对象时 => 远程代理   (2)需要一个消耗资源较少的对象来代表一个消耗资源较多的对象 => 降低系统开销   (3)需要控制对一个对象的访问,

31430
领券