- 博客(58)
- 资源 (18)
- 收藏
- 关注
原创 软件设计原则之里氏替换原则
里氏替换原则(Liskov Substitution Principle, LSP)是 SOLID 原则之一,它指出:子类型必须能够替换它们的基类型。换句话说,在使用基类的地方应当可以透明地使用派生类的对象而不会影响程序的正确性。违反里氏替换原则的一个典型反例是正方形(Square)和矩形(Rectangle)的关系。在几何学中,正方形是一种特殊的矩形,其中所有边等长。然而,如果我们在面向对象编程中直接继承关系来实现这一点,可能会违反 LSP。
2025-03-21 19:39:41
436
原创 Java遍历魔法
i = null;// 查看结果数组中值并未改变,由此可以推断test1()结论正确即:// 增强for(for-each)的局部变量是数组或集合中数据的副本System.out.printf("增强for(for-each) 自定义数据类型:%s\n", Arrays.toString(ps));
2025-03-20 19:09:51
167
原创 JSR269注解处理器
在resource文件夹下创建目录META-INF\services,在其中创建文件javax.annotation.processing.Processor。其中的内容注解处理类的全限定名:org.pp.lombok.BuilderProcessor。
2025-03-17 10:51:29
182
原创 垃圾收集算法
Java 最新垃圾回收算法以 低延迟(ZGC/Shenandoah)和 自适应分代管理(分代式 ZGC)为核心,结合硬件特性实现 TB 级堆内存的高效回收。G1 持续优化混合回收策略,而 Epsilon 为特殊场景提供零开销方案。开发者可根据应用需求(延迟、吞吐量、堆大小)选择合适的回收器。
2025-03-15 17:26:00
329
原创 Web 开发的“三件套”
跨平台开发:Electron(桌面应用)、React Native(移动端)等。前端开发:操作 DOM、处理用户事件、实现动画等。后端开发:通过 Node.js 构建服务器端应用。JavaScript:实现动态行为和复杂逻辑。JavaScript应用场景。HTML:定义内容结构。CSS:控制样式布局。
2025-03-13 22:48:06
62
原创 DevOps工具链
参考:https://cloud.tencent.com/developer/article/2322080。2、提供了一个标准化的Java项目结构,我们可以通过Maven快速创建一个标准的Java项目.1、对Jar包进行统一的管理,包括快速引入Jar包,以及对使用的 Jar包进行统一的版本控制。自动化构建工具 Jenkins、GitLab CI/CD、Travis CI。Docker:容器(虚拟化、进程隔离)、镜像(软件)、仓库。Jenkins:持续集成、持续交付、自动部署。K8S:容器编排工具。
2025-03-13 17:11:32
347
原创 人工智能概念
算法:线性回归、逻辑回归、支持向量机、决策树、随机森林、K近邻算法。人工智能应用:自然语言处理、图像识别与生成、语音识别、政务与企业服务...算法:多层感知器、卷积神经网络、循环神经网络、长短期记忆网络。深度学习是实现这一目标的工具,模仿人脑,使用多层神经网络进行学习。机器学习提供框架,使得系统可以从数据中学习。大模型指参数量巨大的深度学习模型。
2025-03-13 17:05:06
64
原创 Java实现二叉树
Java实现一颗二叉树 实现了插入、删除、是否包含、将二叉树转化为主链、将二叉树平衡化、将二叉树写入文件、从文件读取一颗二叉树
2022-12-18 18:53:04
286
原创 概览
基础篇面向对象设计 设计模式 异常体系、断言、日志和调试反射、泛型、注解和动态代理字符串、数值、日期时间api 数据结构 函数式编程IO/NIO 、序列化和RMI高级应用篇图形编程java与xml、数据库编程网络编程并发编程位运算、类加载和Java安全JNIjava/jvm性能优化规范篇JCP JSR Java语言规范 JVM虚拟机规范JNDIJDBC J...
2020-02-16 20:45:53
132
转载 treegrid级联勾选或深度级联勾选扩展:两种扩展
treegrid没有级联勾选,要用怎么办?自己扩展呗~ 先明确两个概念:1、级联勾选:不包括未加载的子节点2、深度级联勾选:包括未加载的子节点 两种思路:1、扩展个新方法cascadeCheck,当需要进行级联勾选时,调用该方法进行级联勾选或不勾选。2、扩展onLoadSuccess方法,添加一个自定义属性:cascadeCheck(级联)或deepCas
2012-04-09 17:22:52
3245
原创 Servlet简介
开发中常用MVC模式,MVC对应的各个组件如下:M:model,模型,对应JavaBean(处理用户请求)。V:view,视图,对应Jsp(显示页面,如显示表格、菜单树等)。C:controller,控制器,对应Servlet(只负责请求转发)。此前,Servlet也是同时充当视图层、业务逻辑层以及持久层的动态网页编程技术。Jsp是Servlet的一种简化,使用Jsp只需要完成程序
2012-04-04 19:19:29
595
原创 Cookie与session
Cookie常用于网站记录客户的某些信息。一旦用户下次登录,网站可以获取到客户的相关信息,根据这些信息,网站可以对客户提供更友好的服务。Cookie会一直存放在客户端机器上,直至超出Cookie的生命期限。JSP使用response内置对象增加Cookie,它提供如如下方法:增加Cookie的步骤:(1).创建Cookie实例(2).设置Cookie的最大保存期限(3).向
2012-04-04 19:18:51
448
转载 struts2核心工作流程与原理
1. Struts2架构图 这是Struts2官方站点提供的Struts 2 的整体结构。 2. Struts2部分类介绍 这部分从Struts2参考文档中翻译就可以了。 ActionMapper ActionMapper其实是HttpServletRequest和Action调用请求的一个映射,它屏蔽了Action对于Request等java S
2012-03-20 20:38:49
781
转载 jRebel
想必大家对项目开发中,调试类文件修改时,容器自动重新加载漫长的过程早已厌倦,我今天闲来无事,于是,想试试javaRebel (jRebel)这个东西,javaRebel(jRebel)现在是收费软件,不过在网上可以下载到确解版的。在网上查了一下相关资料,可以实现修改类文件后,不用容器重新加载的功能,高兴之余顺手一试高下,先是下载了MyEclipse7.0(包括了eclipse)安装之,想在一个全
2012-03-20 18:25:57
10540
转载 oracle生成树
下面我们以PF_MENU这张表当作我们的数据表。 1、首先,我们查得整个表的数据: //CDID:菜单ID; FCDID:父菜单ID;CDM:菜单名称。 FCDID=0是最高级菜单;CDM=- 是 分割线SELECT CDID,FCDID,CDM FROM PF_MENU 得到的数据,如下(以下列举部分数据,不是完整的):CDID FCDID CDM30
2012-03-20 13:23:49
1307
转载 文件锁
读写相关的问题是永远存在的,文件锁就是为了解决这个问题而做的,其实它就是个简单的信号量。读写相关性指由于同时读写文件造成文件数据的随机性冲突。为了明确知道在何时通过何种操作对更改或是读取了文件中的那些数据,有必要对操作进行序列化,原子化,同步化,使用户能确知在何时文件中有什么数据。文件锁就是其中一个工具。文件系统一般有两种锁,共享锁及排它锁,也可被称为读锁和写锁。文件系统锁的特点:
2012-03-19 09:52:19
557
转载 农夫养牛
package excise;import java.util.ArrayList;import java.util.List;/** * 问题描述: * * 一头母牛在3—10岁的时候每年可以生一头小牛,生公牛和母牛的比率是50%, * 在牛12岁的时候就送入屠宰场买了。现在有一个农夫有1头1岁大的母牛, * 在母牛3岁的时候就送到附近的农场去配种,请问40年后这
2012-03-17 12:27:59
649
原创 关于NetBeans的界面风格转换详细操作
http://wiki.netbeans.org/Main_Pagehttp://www.blogjava.net/daisheng/articles/245909.htmlhttp://be-evil.org/netbeans-color-theme-collection.html
2012-03-15 13:55:46
1600
转载 历届奥斯卡获奖影片(1927—2009)
2009(81届) 获奖 《贫民窟的百万富翁》(Slumdog Millionaire),福克斯 提名 《贫民窟的百万富翁》(Slumdog Millionaire),福克斯 《本杰明·巴顿奇事》(The Curious Case of Benjamin Button),派拉蒙 2008(80届) 获奖 《老无所依》No Country fo
2012-03-14 19:20:21
2287
转载 各种字符编码详解(ascii,utf-8,unicode,gbk,gb2312,iso8859-1等)
1. ASCII 我们需要了解的最早编码是ASCII码。它用7个二进制位来表示,由于那个时期生产的大多数计算机使用8位大小的字节,因此用户不仅可以存放所有可能的ASCII字符,而且有整整一位空余下来。如果你技艺高超,可以将该位用做自己离奇的目的:WordStar中那个发暗的灯泡实际上设置这个高位,以指示一个单词中的最后一个字母,同时这也宣示了WordStar只能用于英语文本。 由于字节有
2012-03-10 22:41:40
855
原创 一些网址导航
版本控制Github https://github.com/progit/progit/tree/master/zh数据库MySql http://doc.mysql.cn/Java图形 http://www.cnblogs.com/cocowool/archive/2010/08/16/1800954.html骑士的卓越誓言blog http://xokni
2012-03-07 22:29:04
1423
转载 疯人院之大家别去美国,一个愚蠢而落后的国度
原文地址:大家别去美国,一个愚蠢而落后的国度【转载】作者:金鑫大家别去美国,一个愚蠢而落后的国度 来美国已多时了。我后悔当初的选择。一直都被西方媒体所蒙蔽欺骗,让我错误地以为美国是一个现代化国家。怀着学习美国先进科技报效祖国的豪情,我翻山越岭来到了这个“强大”的国度。可是结果让我大失所望! (1) 美国真的是个还未经开发的大农村.在中学时,老师们就教过
2012-03-05 13:17:12
6338
原创 树1
树节点类:package org.zp.datastruct;public class TreeNode { public Object data; public TreeNode leftChild; public TreeNode rightSib; public TreeNode () {} public TreeNode (Object obj) {}
2012-03-03 23:30:44
393
原创 疯人院之语言、编码、计算机
在数据结构总结1那篇文章中我已经提到了数据是信息的载体,语言是信息交流的工具,人类是个独立又相互联系的矛盾体。现在就来简单说说人类是如何进行相互联系的。毫无疑问至今为止人类交流的方式是丰富多彩、千奇百怪的。比如最基本的交流方式就是口语即说话,也就是规定一系列的符号,然后发送者通过声波(声带振动)的形式发送出去,接受者通过耳膜(共振)将接受到的声波信息转换为电信号通过神经传导至大脑,大脑经过分析
2012-03-03 11:25:47
1082
原创 队列
抽象数据类型描述:package org.zp.datastruct;public interface Queue { // 先进先出只能从队首删除、队尾插入 public void clear(); public void enqueue(Object obj); // 在队尾插入一个新元素 public Object dequeue(); // 删除并返回队首元素
2012-03-02 23:45:52
646
转载 API_JDBC
JDBC由一组用 Java 编程语言编写的类和接口组成。JDBC 扩展了 Java 的功能。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯 Java API 来编写数据库应用程序。即JDBC是应用程序与数据库交互的接口(或者说方法)。因为Java是平台无关的,所以使用 Java 编程语言编写的应用程序,就无须去忧虑要为不同的平台编写不同的应用程序。将 Java 和 JDB
2012-03-02 16:50:30
565
原创 NetBeans快捷键
psvm+Tab 生成Main方法sout + Tab 生成输出语句Ctrl-E/Ctrl-X 删除当前行ctrl+enter 增加空白行,光标不移动;Ctrl-数字键盘上的 - 折叠(隐藏)代码块Ctrl-数字键盘上的 + 展开已折叠的代码块Ctrl-Shift-数字键盘上的 - 折叠所有代码块Ctrl-Shift-数字
2012-03-01 18:46:18
540
原创 简单学jQuery---概述
jQuery 是一个轻量级 JavaScript 库。它提倡:写的更少,做得更多。jQuery共有两个版本的 jQuery 可供下载:一份是精简过的,另一份是未压缩的(供调试或阅读)。可从jQuery官网下载。 通过jQuery你可以实现如下操作:(当然你可以任意扩展自己的插件) HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数
2012-03-01 18:39:07
598
原创 栈---链表实现
栈--链表实现:package org.zp.datastruct;public class LinkedStack implements Stack { // 链表节点类 private static class SLLNode { private Object data; private SLLNode next; public SLLNode() { }
2012-02-26 14:53:01
386
原创 栈---数组实现
栈的抽象类型描述(ADT):package org.zp.datastruct;public interface Stack { // Stack values are stacks whose elements are arbitrary objects. // 栈元素类型为任意对象 //Modifiers 修改器--修改栈 public void clear(); p
2012-02-26 14:06:36
927
CPU结构_8086指令系统_汇编.pdf
2020-02-12
java ssh框架
2015-04-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人