- java的四种内部类详解
异常驯兽师
java开发语言
Java的四种内部类详解一、静态内部类(StaticInnerClass)定义:使用static修饰的成员内部类,独立于外部类实例存在。访问权限:可直接访问外部类的静态成员(包括private修饰的)。无法直接访问外部类的非静态成员,需通过外部类实例间接访问。特点:可以定义静态成员和方法。创建方式:外部类名.静态内部类名,无需外部类实例。应用场景:适用于与外部类关联紧密但不依赖实例的场景,如Jav
- 本地大模型-使用Open WebUI页面关联Ollama和Stable Diffusion可视化问答及画图/Ollama常用命令
瑶山
AI学习指南pythonOllama本地大模型
目录下载地址安装关联Ollama关联StableDiffusion效果下载地址GitHub-open-webui/open-webui:User-friendlyAIInterface(SupportsOllama,OpenAIAPI,...)安装可以使用docker,安装更方便dockerrun-d-p3450:8080--add-host=host.docker.internal:host-g
- SSH开发模式——Struts2(第一小节)
希望永不加班
JavaEE框架完全解析JavaWebStruts2
在制定了学习计划的学习过程中,我感觉学习还是很有效率的。很短的时间内,我便学习完了JavaWeb的连接池、DbUtils框架及其一些工具类的使用。学无止境,学习这些知识还远远不够,所以,在接下来的时间里,我将对JavaWeb中的SSH开发模式进行一个简单的学习,并用博客记录学习进度。开发模式相信大家都有接触或听说,但又觉得这个东西很神秘,的确,这看不见摸不着的东西确实很让人好奇,所以,从今天开始,
- 2023年java面试问题大全及答案大全
m0_74824574
面试学习路线阿里巴巴java面试开发语言
202年常见的Java面试问题和答案:Java中的基本数据类型有哪些?答:Java中的基本数据类型包括整型(int,short,long,byte)、浮点型(float,double)、字符型(char)和布尔型(boolean)。String和StringBuilder之间的区别是什么?答:String是不可变的,每次对String的操作都会创建一个新的String对象,而StringBuild
- python爬虫系列课程7:ajax
wp_tao
Python副业接单实战项目python爬虫ajax
python爬虫系列课程7:ajax一、ajax的介绍二、ajax的使用一、ajax的介绍ajax是AsynchronousJavaScriptandXML的简写,ajax是一个前后端配合的技术,它可以让JavaScript发送异步的http请求,与后台通信进行数据的获取,ajax最大的优点是实现局部刷新,ajax可以发送http请求,当获取到后台数据的时候更新页面显示数据实现局部刷新,在这里大家
- 二进制安卓清单 binary AndroidManifest - XCTF apk 逆向-2
dilvx
androidxml
XCTF的apk逆向-2题目wp,这是一道反编译对抗题。题目背景AndroidManifest.xml在开发时是文本xml,在编译时会被aapt编译打包成为binaryxml。具体的格式可以参考稀土掘金MindMac做的类图(2014),下面的博客分别是wp和字段解析。攻防世界XCTF【Mobile】APK逆向-2题解正常下载附件,解压后,拖到JADX-gui中去反编译一下,然-掘金Android
- echarts标准饼图——提示框(tooltip)配置
我是陈大大
echartsvuejavascriptViewUI
echarts标准饼图解读(一)——提示框(tooltip)配置weixin_30446197于2016-11-2511:33:00发布508收藏4文章标签:javascriptViewUI原文链接:http://www.cnblogs.com/web520/p/6100955.html版权varmyChart=echarts.init(document.getElementById(‘main’
- Docker+Ollama+RAGFlow本地部署DeepSeek R1并构建本地知识库
康顺哥
AI大模型#docker容器llama语言模型aiAI编程
目录背景安装Docker设置Docker默认参数修改Docker保存服务程序的缓存路径为服务程序镜像设置别名为ollama设置专用参数安装ollama运行DeepSeekR1大模型安装Open-WebUI配置Open-WebUI检验DeepSeek的资源占用情况安装RAGFlow添加chat模型添加embedding模型创建知识库AI结合知识库聊天总结背景DeepSeek持续火爆,但官网访问经常出
- 消息队列MQ(RabbitMQ)
MiniFlyZt
rabbitmq分布式springboot微服务
在现代软件架构中,消息队列(MessageQueue,简称MQ)是一种非常重要的中间件,广泛应用于分布式系统、微服务架构以及异步通信场景中。消息队列通过允许应用程序之间通过消息进行通信,从而实现解耦、提高系统的可扩展性和可靠性。本文将介绍消息队列的基本概念、常见实现方式,并通过一个简单的Java示例来展示如何使用消息队列。消息Broker,目前常见的实现方案就是消息队列(MessageQueue)
- The Wedding Juicer POJ - 2227
里欧布鲁斯
算法
采取从外层边界,一步一步向内部拓展的策略,具体来说,一开始将最外面一层的点加入队列,并标记这些点的坐标已经被访问取出队列中高度最低的点,将其弹出,查看其上下左右的点,如果新点没有被访问过,分两种情况:1.如果新点的高度大于等于当前点:将新点加入队列,标记新点已经访问过了,该点无法储水2.如果新点的高度小于当前点:则新点储水(当前点的高度-新点的高度),首先,这么多水一定可以存,因为当前点的高度是边
- Google Java 编程风格及编码标准指南
yaoxin521123
【Java使用方案】java开发语言编程规范
文章目录GoogleJava编程风格及编码标准指南前言1简介1.1术语说明1.2指南说明2源文件基础2.1文件名2.2文件编码:`UTF-8`2.3特殊字符2.3.1空白字符2.3.2特殊转义序列2.3.3非ASCII字符3源文件结构3.1许可证/版权信息3.2`package`语句3.3`import`语句3.3.1禁止通配符导入3.3.2禁止换行3.3.3排序与间距3.3.4静态嵌套类导入3.
- android自动化测试 python3.0+appium+uiautomatorviewer+unittest+csv+HTMLTestRunner 登录测试框架
luoyangcoding
app自动化测试app登录自动化脚本
#coding:utf-8importcsv#导入csv库,可以读取csv文件fromappiumimportwebdriverimportunittest#单元测试fromtimeimportsleep#等待时间importtime#时间方法importos#文件、目录方法importsys#引用系统函数fromHTMLTestRunnerimportHTMLTestRunner#定义路径变量,
- 设计模式-行为型模式-中介者模式
繁星璀璨G
#行为型模式设计模式中介者模式c++
工程源码:c++设计模式-行为型模式-中介者模式https://download.csdn.net/download/qq_40788199/85763979码云:设计模式-行为型模式-中介者模式https://gitee.com/gongguixing/c-design-mode.git1、模式的定义与特点中介者(Mediator)模式的定义:定义一个中介对象来封装一系列对象之间的交互,使原有对
- SpringBoot使用注解扫描注册Java Web三大组件
呆萌很
springbootspringboot
使用注解扫描和注册JavaWeb三大组件(Servlet、Filter、Listener)非常方便。1.Servlet注册Servlet是JavaWeb开发的基础组件,用于处理客户端(通常是浏览器)发送的HTTP请求并生成响应。Controller是基于Servlet的封装。可以通过@WebServlet注解来注册Servlet,并使用@ServletComponentScan注解来扫描这些Ser
- 构建现代化设计系统:基于 TypeScript 与 Storybook 的实战指南
全栈探索者chen
vue前端typescriptjavascript前端node.js开发语言vue.jsecmascript
构建现代化设计系统:基于TypeScript与Storybook的实战指南前言在企业级前端开发中,设计系统可以大幅提高开发效率、保证产品一致性,并为团队提供一套可复用的组件库。基于TypeScript构建组件不仅能够提升代码的可维护性和可读性,还能借助强类型检查减少运行时错误。同时,Storybook作为流行的UI组件开发工具,可帮助团队独立开发、预览和测试组件。本文将详细介绍如何构建现代化设计系
- element的form校验问题
lydxwj
框架插件vuevue.jsjavascript前端
环境:elementui:V2.13.1vue:2.X问题:表单项必填校验,内容为空时没问题,填写内容后不实时移除必填提示信息新增的动态表单项,不能实时校验,执行form.validate会进行校验分析:form标签上面增加rules来进行校验,el-form-item标签上面需要加prop属性,由于键中存在横杠所以在el-form-item中的表单项进行双向绑定值时是v-model="formD
- 搭建规范化的vue2项目
lydxwj
vuevueEslintPrettier
项目包含的库Vue2+Vuex+Router+Eslint+Prettier环境vue:2.6.14eslint:7.32.0prettier:2.4.1eslint-plugin-prettier:4.0.0eslint-plugin-vue:8.0.3@vue/cli:5.0.8步骤全局安装cli工具npminstall-g@vue/cli运行创建项目命令vueui运行vuecreatexxx
- 探索Spring的现代之旅:《Spring实战》第5版全面解读
任轶眉Tracy
探索Spring的现代之旅:《Spring实战》第5版全面解读项目地址:https://gitcode.com/gh_mirrors/sp/spring-in-action-v5-translate在当今快速迭代的软件开发领域中,Spring框架始终位于Java生态系统的核心位置。随着技术的进步,《Spring实战》第5版如约而至,宛如一位老友,带着全新的知识宝藏,引领我们深入Spring世界的新
- Learn-Java8: 探索Java 8的新特性和实战指南
袁耿浩
Learn-Java8:探索Java8的新特性和实战指南learn-java8项目地址:https://gitcode.com/gh_mirrors/lea/learn-java8一、项目介绍Learn-Java8是一个专注于展示和教授Java8新特性以及如何在实际开发中有效利用这些特性的开源项目。该项目包含了丰富的示例代码,旨在帮助开发者快速上手并深入理解Java8中的Lambda表达式、Str
- 构建未来:基于Spring Boot与Spring Cloud的Java微服务之旅
胡蓓怡
构建未来:基于SpringBoot与SpringCloud的Java微服务之旅java-microservices-examplesJavaMicroservices:SpringBoot,SpringCloud,JHipster,SpringCloudConfig,andSpringCloudGateway项目地址:https://gitcode.com/gh_mirrors/jav/java-
- MyBatis-Plus 与 Redis
#sakura
mybatisredis数据库
1MyBatis-Plus1.1MyBatis-Plus简介MyBatis是一款优秀的持久层框架,它能将接口和JavaPOJO(PlainOldJavaObjects,普通Java对象)映射为数据库中的数据。支持自定义SQL、存储过程,功能强大。MyBatis承担了几乎所有的JDBC代码,包括设置参数和获取结果等工作,可通过简单的XML或注解进行配置。MyBatis-Plus是MyBatis的最佳
- 使用wxWidgets开发跨平台GUI应用程序
DevNinja
C/C++
使用wxWidgets开发跨平台GUI应用程序wxWidgets是一个开源的C++GUI框架,可以让开发人员在多个操作系统上快速构建跨平台的图形用户界面。与其他GUI框架相比,wxWidgets的主要优势在于它的跨平台能力、多样化的控件、可扩展性、以及可靠性和稳定性。wxWidgets支持大多数常见的操作系统,包括Windows、Linux、Unix和MacOSX等,并且具有相同的API接口,这使
- JavaScript+Selenium自动化测试
爱学测试的李木子
软件测试javascriptselenium开发语言
Seleniumisabrowserautomationlibrary.Mostoftenusedfortestingweb-applications,Seleniummaybeusedforanytaskthatrequiresautomatinginteractionwiththebrowser.Selenium是一个浏览器自动化测试库,大多时候我们用它来测试web应用,Selenium可以胜
- 前端知识点---库和包的概念
*星之卡比*
前端harmonyos鸿蒙
1.什么是库(Library)?库(Library)是一组可复用的代码集合,提供特定功能(如网络请求、UI组件、数据处理等)。特点:只是代码的集合,没有完整的应用结构。不能单独运行,必须被应用或其他代码引用使用。可以理解为:「工具箱」里的一个工具(比如一把锤子)。2.什么是包(Package)?包(Package)是指一组代码库的封装,通常包含多个库(Library)、依赖关系和元数据(如pack
- wxWidgets:跨平台GUI开发框架
2301_79366332
C/C++
wxWidgets:跨平台GUI开发框架wxWidgets是一个开源的、跨平台的C++GUI开发框架。它提供了丰富的工具和类库,用于构建具有图形用户界面的应用程序。wxWidgets的设计目标是使开发者能够在不同的操作系统上编写一次代码,然后将其编译为在多个平台上运行的应用程序。wxWidgets支持多种操作系统,包括Windows、macOS、Linux以及其他Unix-like系统。它还可以与
- 最简单圆形进度条实现CSS+javascript,两端带圆弧
真是6的不行
cssjavascript前端
两端是弧形的圆形进度条。Document/*定义css变量*/:root{--progress:0%;--endRotate:0deg;--contentSize:100px/*这位置改变整体进度条大小*/}/*外圈*/.progress{position:relative;width:var(--contentSize);height:var(--contentSize);/*进度条的颜色处理*
- Ubuntu系统下交叉编译szip
linux运维
一、交叉编译szip1.下载源码下载Szip:https://docs.hdfgroup.org/archive/support/doc_resource/SZIP/i...下载并解压源码。tar-xvzfszip-2.1.1.tar.gzcdtar-xvzfszip-2.1.1mkdirszipbuild2.设置环境变量设置交叉编译工具链的环境变量:exportPATH=/home/yoyo/3
- 使用MATLAB保存视频每一帧的图像
水深00安东尼
Matlabmatlab音视频开发语言
clear;clc;%chooseavideofile[filename,pathname]=uigetfile('*.mp4','chooseavideofile','video.mp4','Multiselect','off');%选择名称为video.mp4的视频获取文件名称和存储路径fprintf('filename=%s\npathname=%s\n\n',filename,pathna
- Unity 基础知识总结(持续更新中...)
程序猿多布
unity游戏引擎
引擎基础Unity有哪几个主要窗口?Scene窗口用于场景搭建和UI界面拼接Game窗口游戏运行预览Hierarchy窗口查看和调整场景对象层级结构Project窗口游戏工程资源Inspector创建属性查看器,属性设置、脚本组件挂载Unity提供了几种光源,分别是什么一共有四种DirectionalLight平行光PointLight点光源SpotLight聚光灯AreaLight区域光Imag
- 软件工程:软件需求之需求编写规则
云纳星辰怀自在
软件工程软件工程需求分析软件需求
承接上文,本文旨在阐述编写软件需求遵循的规则。1.总览Softwarerequirementshavetobegranularandunderstandable.Unclearorgenericrequirementshavetobeclarifiedwiththesystemrequirementowner.软件需求必须颗粒化和易于理解。不清晰的或者概括性的需求必须和系统需求所有者澄清。Thee
- java线程Thread和Runnable区别和联系
zx_code
javajvmthread多线程Runnable
我们都晓得java实现线程2种方式,一个是继承Thread,另一个是实现Runnable。
模拟窗口买票,第一例子继承thread,代码如下
package thread;
public class ThreadTest {
public static void main(String[] args) {
Thread1 t1 = new Thread1(
- 【转】JSON与XML的区别比较
丁_新
jsonxml
1.定义介绍
(1).XML定义
扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
XML是标
- c++ 实现五种基础的排序算法
CrazyMizzz
C++c算法
#include<iostream>
using namespace std;
//辅助函数,交换两数之值
template<class T>
void mySwap(T &x, T &y){
T temp = x;
x = y;
y = temp;
}
const int size = 10;
//一、用直接插入排
- 我的软件
麦田的设计者
我的软件音乐类娱乐放松
这是我写的一款app软件,耗时三个月,是一个根据央视节目开门大吉改变的,提供音调,猜歌曲名。1、手机拥有者在android手机市场下载本APP,同意权限,安装到手机上。2、游客初次进入时会有引导页面提醒用户注册。(同时软件自动播放背景音乐)。3、用户登录到主页后,会有五个模块。a、点击不胫而走,用户得到开门大吉首页部分新闻,点击进入有新闻详情。b、
- linux awk命令详解
被触发
linux awk
awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息
awk处理过程: 依次对每一行进行处理,然后输出
awk命令形式:
awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file
[-F|-f|-v]大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=val
- 各种语言比较
_wy_
编程语言
Java Ruby PHP 擅长领域
- oracle 中数据类型为clob的编辑
知了ing
oracle clob
public void updateKpiStatus(String kpiStatus,String taskId){
Connection dbc=null;
Statement stmt=null;
PreparedStatement ps=null;
try {
dbc = new DBConn().getNewConnection();
//stmt = db
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
矮蛋蛋
zookeeper
原文地址:
http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/
安装和配置详解
本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两
- tomcat数据源
alafqq
tomcat
数据库
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。
没有使用JNDI时我用要这样连接数据库:
03. Class.forName("com.mysql.jdbc.Driver");
04. conn
- 遍历的方法
百合不是茶
遍历
遍历
在java的泛
- linux查看硬件信息的命令
bijian1013
linux
linux查看硬件信息的命令
一.查看CPU:
cat /proc/cpuinfo
二.查看内存:
free
三.查看硬盘:
df
linux下查看硬件信息
1、lspci 列出所有PCI 设备;
lspci - list all PCI devices:列出机器中的PCI设备(声卡、显卡、Modem、网卡、USB、主板集成设备也能
- java常见的ClassNotFoundException
bijian1013
java
1.java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 添加包common-logging.jar2.java.lang.ClassNotFoundException: javax.transaction.Synchronization
- 【Gson五】日期对象的序列化和反序列化
bit1129
反序列化
对日期类型的数据进行序列化和反序列化时,需要考虑如下问题:
1. 序列化时,Date对象序列化的字符串日期格式如何
2. 反序列化时,把日期字符串序列化为Date对象,也需要考虑日期格式问题
3. Date A -> str -> Date B,A和B对象是否equals
默认序列化和反序列化
import com
- 【Spark八十六】Spark Streaming之DStream vs. InputDStream
bit1129
Stream
1. DStream的类说明文档:
/**
* A Discretized Stream (DStream), the basic abstraction in Spark Streaming, is a continuous
* sequence of RDDs (of the same type) representing a continuous st
- 通过nginx获取header信息
ronin47
nginx header
1. 提取整个的Cookies内容到一个变量,然后可以在需要时引用,比如记录到日志里面,
if ( $http_cookie ~* "(.*)$") {
set $all_cookie $1;
}
变量$all_cookie就获得了cookie的值,可以用于运算了
- java-65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
bylijinnan
java
参考了网上的http://blog.csdn.net/peasking_dd/article/details/6342984
写了个java版的:
public class Print_1_To_NDigit {
/**
* Q65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
* 1.使用字符串
- Netty源码学习-ReplayingDecoder
bylijinnan
javanetty
ReplayingDecoder是FrameDecoder的子类,不熟悉FrameDecoder的,可以先看看
http://bylijinnan.iteye.com/blog/1982618
API说,ReplayingDecoder简化了操作,比如:
FrameDecoder在decode时,需要判断数据是否接收完全:
public class IntegerH
- js特殊字符过滤
cngolon
js特殊字符js特殊字符过滤
1.js中用正则表达式 过滤特殊字符, 校验所有输入域是否含有特殊符号function stripscript(s) { var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]"
- hibernate使用sql查询
ctrain
Hibernate
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.hibernate.Hibernate;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.Transa
- linux shell脚本中切换用户执行命令方法
daizj
linuxshell命令切换用户
经常在写shell脚本时,会碰到要以另外一个用户来执行相关命令,其方法简单记下:
1、执行单个命令:su - user -c "command"
如:下面命令是以test用户在/data目录下创建test123目录
[root@slave19 /data]# su - test -c "mkdir /data/test123"
- 好的代码里只要一个 return 语句
dcj3sjt126com
return
别再这样写了:public boolean foo() { if (true) { return true; } else { return false;
- Android动画效果学习
dcj3sjt126com
android
1、透明动画效果
方法一:代码实现
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_main, container, fals
- linux复习笔记之bash shell (4)管道命令
eksliang
linux管道命令汇总linux管道命令linux常用管道命令
转载请出自出处:
http://eksliang.iteye.com/blog/2105461
bash命令执行的完毕以后,通常这个命令都会有返回结果,怎么对这个返回的结果做一些操作呢?那就得用管道命令‘|’。
上面那段话,简单说了下管道命令的作用,那什么事管道命令呢?
答:非常的经典的一句话,记住了,何为管
- Android系统中自定义按键的短按、双击、长按事件
gqdy365
android
在项目中碰到这样的问题:
由于系统中的按键在底层做了重新定义或者新增了按键,此时需要在APP层对按键事件(keyevent)做分解处理,模拟Android系统做法,把keyevent分解成:
1、单击事件:就是普通key的单击;
2、双击事件:500ms内同一按键单击两次;
3、长按事件:同一按键长按超过1000ms(系统中长按事件为500ms);
4、组合按键:两个以上按键同时按住;
- asp.net获取站点根目录下子目录的名称
hvt
.netC#asp.nethovertreeWeb Forms
使用Visual Studio建立一个.aspx文件(Web Forms),例如hovertree.aspx,在页面上加入一个ListBox代码如下:
<asp:ListBox runat="server" ID="lbKeleyiFolder" />
那么在页面上显示根目录子文件夹的代码如下:
string[] m_sub
- Eclipse程序员要掌握的常用快捷键
justjavac
javaeclipse快捷键ide
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 写道 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可
- c++编程随记
lx.asymmetric
C++笔记
为了字体更好看,改变了格式……
&&运算符:
#include<iostream>
using namespace std;
int main(){
int a=-1,b=4,k;
k=(++a<0)&&!(b--
- linux标准IO缓冲机制研究
音频数据
linux
一、什么是缓存I/O(Buffered I/O)缓存I/O又被称作标准I/O,大多数文件系统默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,操作系统会将I/O的数据缓存在文件系统的页缓存(page cache)中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。1.缓存I/O有以下优点:A.缓存I/O使用了操作系统内核缓冲区,
- 随想 生活
暗黑小菠萝
生活
其实账户之前就申请了,但是决定要自己更新一些东西看也是最近。从毕业到现在已经一年了。没有进步是假的,但是有多大的进步可能只有我自己知道。
毕业的时候班里12个女生,真正最后做到软件开发的只要两个包括我,PS:我不是说测试不好。当时因为考研完全放弃找工作,考研失败,我想这只是我的借口。那个时候才想到为什么大学的时候不能好好的学习技术,增强自己的实战能力,以至于后来找工作比较费劲。我
- 我认为POJO是一个错误的概念
windshome
javaPOJO编程J2EE设计
这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。
&