- ELK学习(一) ElasticStack技术栈简介
左边有只汪
ElasticSearchELK
ELK是由三个技术组成的分别是ElasticSearch核心存储和检索引擎Logstash高吞吐量数据处理引擎Kibana数据可视化主要业务是做日志分析ElasticStack不光是由这几种技术还有新的成员Beats,它可以采集一切数据Beats下还分为以下几个模块FileBeat日志文件PacketBeat网络流量MetricBeat服务指标(CPU,内存情况)WinlogBeatwin日志采集
- filebeat原理架构
jiedaodezhuti
架构
Filebeat是基于Golang开发的轻量级日志采集Agent,其核心架构设计围绕高效、可靠地采集与转发日志数据,主要组件和工作流程如下:一、核心架构组件输入(Inputs)负责监控指定的日志源(如文件路径、日志文件)。每个日志源由独立的Harvester(采集器)处理。Harvester(采集器)职责:逐行读取单个日志文件内容,将数据发送至处理引擎(Libbeat)。特性
- EFK架构日志采集系统
以下是基于Filebeat+Elasticsearch+Kibana(EFK)构建日志采集系统的核心要点及部署指南,综合多来源最佳实践整理:一、架构核心要点组件角色Filebeat:轻量级日志采集器,实时监控文件/目录变化,高效转发日志数据(资源占用仅为Logstash的1/10)。Elasticsearch:分布式搜索引擎,存储日志并提供实时检索与分析能力。Kibana:可视
- filebeat改造支持rocketmq
余很多之很多
goJavarocketmq
继续分享下以前在gitchat上发布的文章:filebeat改造支持rocketmq1.概述1.1问题概述现在越来越多的日志采集使用FileBeat,FileBeat是个轻量型日志采集器,采用Go语言实现,性能稳健,占用资源少。FileBeat现在支持采集的日志内容发送到Redis、Elasticsearch、Kafka、Logstash。那么我们如果想通过FileBeat采集日志到RocketM
- Filebeat + Logstash + ES进行Nginx日志采集
一个只会喊666的菜比
简易架构图service.png架构图比较简单,日志收集大同小异,这次不添加任何中间服务比如:rediskafka后端只是存储进ES使用的版本jdk-8u161-linux-x64.rpmelasticsearch-6.7.2.rpmlogstash-6.7.2.rpmfilebeat-6.7.2-x86_64.rpm安装比较简单,只用进行rpm-ivh即可,接下来直接贴配置文件:Elastics
- 5.k8s:helm包管理器,prometheus监控,elk,k8s可视化
鹏哥哥啊Aaaa
运维kubernetes容器云原生
目录一、Helm包管理器1.什么是Helm2.安装Helm(3)Helm常用命令(4)目录结构(5)使用Helm完成redis主从搭建二、Prometheus集群监控1.监控方案2.Prometheus监控k8s三、ELK日志搜集1.elk流程2.配置elk(1)配置es(2)配置logstash(3)配置filebeat,kibana3.kibana使用和日志检索四、k8s可视化管理1.Dash
- 分布式系统中优化ELK日志采集性能
Alex艾力的IT数字空间
elk微服务中间件架构ux安全性测试可用性测试
架构设计、组件调优、资源分配等多维度入手一、架构优化:分布式与解耦设计分层采集与缓冲Filebeat轻量级采集:在每台服务器部署Filebeat替代Logstash作为日志收集器,降低资源占用(CPU/内存减少70%以上)。引入缓冲队列:通过Redis或Kafka作为日志缓冲池,缓解Logstash或Elasticsearch的突发流量压力,避免数据丢失(如Logstash异常时Redis暂存数据
- php 高并发下日志量巨大,如何高效采集、存储、分析
贵哥的编程之路(热爱分享 为后来者)
PHP语言经典程序100题php开发语言
1.问题背景高并发系统每秒产生大量日志(如访问日志、错误日志、业务日志等)。单机写入、存储、分析能力有限,容易成为瓶颈。需要支持实时采集、分布式存储、快速检索与分析。2.主流架构方案一、分布式日志采集架构[应用服务器(PHP等)]|v[日志采集Agent(如Filebeat、Fluentd、Logstash)]|v[消息队列/缓冲(如Kafka、Redis、RabbitMQ)]|v[日志存储(如E
- 大数据系列 | 日志数据采集工具Filebeat的架构分析及应用
降世神童
大数据技术专栏大数据架构
大数据系列|日志数据采集工具Filebeat的架构分析及应用1.Filebeat的由来2.Filebeat原理架构分析3.Filebeat的应用3.1.安装Filebeat3.2.实战采集应用程序日志1.Filebeat的由来 在介绍Filebeat之前,先介绍一下Beats。Beats是一个家族的统称,Beats家族有8个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logs
- Filebeat注入环境变量方案
本文针对filebeat8.11.0k8s容器中获取环境变量在Kubernetes中部署的Filebeat,其JavaScript处理器无法直接访问容器的环境变量。但我们可以通过下面的方式来实现:方案1:通过Filebeat字段传递环境变量步骤1:在Kubernetes编排文件中为Filebeat设置环境变量env:-name:APP_ENVvalue:user-center-server步骤2:
- 日志收集工具-logstash
QD.Joker
#ELK数据库elk
提示:Windows环境下安装部署logstash采集日志文件文章目录一、下载二、解压部署三、常用插件四、常用配置Logstash服务器数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的存储库中。Logstash没有fileBeats轻量,但是过滤功能更多。一、下载官网下载安装windows压缩包:https://www.elastic.co/cn/downloads/lo
- Elk日志分析系统
目录ELK概述ElasticSearch概述Logstash的介绍Logstash工作的三个阶段Kibana介绍Kibana主要功能部署ES群集基本配置安装Elasticsearch安装1ogstashFilebeat修改logstash的配置文件,使日志输出到elasticsearch安装KibanaELK概述日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器
- 一个完整的日志收集方案:Elasticsearch + Logstash + Kibana+Filebeat (二)
livemetee
大数据搜索引擎elk
本地Windows部署Logstash连接本地Elasticsearch指南✅目标在本地Windows上安装并运行Logstash配置Logstash将数据发送至本地Elasticsearch测试数据采集与ES存储流程前提条件软件版本要求安装说明Java17+OracleJDK下载或OpenJDKElasticsearch8.x/7.xElasticsearch下载Logstash与ES版本一致L
- 推荐一款强大的Golang清洁Web API项目:完全Docker化的汽车销售平台
宋韵庚
推荐一款强大的Golang清洁WebAPI项目:完全Docker化的汽车销售平台golang-clean-web-apiGolangCleanarchitectureRESTAPIexamplewithacomprehensiverealproject.Itusesdocker,dockercompose,redis,elasticsearch,kibana,filebeat,postgresql
- ELK日志收集之kafka 方案Filebeat + kafka + Logstash + ES + Kibana
心上之秋
elkkafkaelasticsearchlinq分布式
一.简介常见的日志采集处理解决方案登录后复制Filebeat+ES+KibanaFilebeat+Logstash+ES+KibanaFilebeat+Kafka/Redis/File/Console+应用程序(处理/存储/展示)Filebeat+Logstash+Kafka/Redis/File/Console+应用程序(处理/存储/展示)1.2.3.4.二.配置1.创建Filebeat配置文件
- Centos7搭建Elasticsearch + Logstash + filebeat + Kibana
G1LUCK
ELKELK
一、什么是ELKELK是Elasticsearch+Logstash+Kibana这种架构的简写。这是一种日志分平台析的架构。二、ELK常见的几种架构1Elasticsearch+Logstash+Kibana这是一种最简单的架构。这种架构,通过logstash收集日志,Elasticsearch分析日志,然后在Kibana(web界面)中展示。2Elasticsearch+Logstash+fi
- ES8生产实践——自定义日志采集(Filebeat方式)
崔亮的博客
ELKStackelasticsearch
在某些存在业务高峰期的场景下,期间可能会产生大量日志,如果继续使用fleet采集日志,使用ingest处理数据,可能会出现写入堆积的情况。此时可采用传统的Filebeat方式采集日志,引入Kafka作为消息缓冲队列,保证日志传输数据的可靠性和稳定性。接下来以日志demo程序为例,实现Filebeat采集——>kafka消息缓冲队列——>logstash解析处理数据——>es存储——>kibana数
- Filebeat es 同步服务器日志到es
可以吧可以吧
eselasticsearch服务器jenkins
资源ubuntues7.10kibana7.10filebeat:7.10.2metricbeat:7.10.2对应的版本必须相同否在会有兼容问题eskibana内网地址192.168.0.94:9200127.0.0.1:9200https://127.0.0.1:9200账户admin密码123456#端口9200eskibanahttps://127.0.0.1:5601/app/login
- docker部署ELK+Filebeat之elasticsearch集群部署(一)
WFkwYu
运维dockerlinuxdocker容器elasticsearchelk
docker部署ELK之elasticsearch集群部署(一)本文旨在三台不同的服务器,搭建elasticsearch集群,版本为7.1.11、服务器列表及配置(服务器内存尽量不要低于4G)主机名IPdocker110.0.1.47docker210.0.1.83docker310.0.1.147服务器环境:1、docker环境(参考:https://blog.csdn.net/qq_35663
- 统计客户端使用情况,使用es存储数据,实现去重以及计数
xrz277
elkelasticsearch
这篇文件的重点在tshark、filebeat、和logstash。需求:统计客户使用的客户端版本实现工具:tshark1.10.14,filebeat8.17.0,logstash8.17.0,elasticsearch8.17.0,kibana8.17.0总体设计:使用tshark抓包,并以格式化的文本形式(字段中间以|分隔)输出到txt文件,txt文件每10M分割一个新文件,通过filebe
- Linux架构篇、第四章_ELK与EFK-7.17.9的日志管理
Lw老王要学习
Linux学习分享#LINUX架构linux架构elk云计算运维
Linux_基础篇欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神!题目:ELK与EFK-7.17.9的日志管理版本号:1.0,0作者:@老王要学习日期:2025.04.25适用环境:Centos7文档说明本文档围绕CentOS7环境下部署ELK(Elasticsearch+Kibana+Logstash)与EFK(Elasticsearch+Kibana+Filebeat)日志管理
- 数据中台架构与技术体系
Aurora_NeAr
架构大数据
数据中台整体架构设计数据中台分层架构数据采集层数据源类型:业务系统(ERP、CRM)、日志、IoT设备、第三方API等。采集方式:实时采集:Kafka、FlinkCDC(变更数据捕获)。离线采集:Sqoop、DataX(批量同步数据库)。日志采集:Flume、Filebeat。数据缓冲与预处理:使用消息队列(如Kafka)作为缓冲区,应对数据流量峰值。数据存储层数据湖(DataLake):存储原始
- OpenSearch日志管理系统搭建
头孢头孢
零散的一些技术方案实现零散面试相关的总结javalinux
1.环境准备1.1服务器与网络购买阿里云ECS服务器至少准备一台用于部署OpenSearch集群(建议至少3台节点实现高可用)另一台或多台服务器用于部署Logstash和Filebeat(Filebeat可部署在日志产生端,也可作为容器或DaemonSet部署于Kubernetes集群中)网络要求所有组件(OpenSearch、Logstash、Filebeat、Dashboards)需处于同一V
- 企业级日志系统架构Filebeat + Kafka + Logstash + Elasticsearch + Kibana现代日志管理架构详解
就叫飞六吧
系统架构kafkaelasticsearch
Filebeat+Kafka+Logstash+Elasticsearch+Kibana:现代日志管理架构详解1.引言在现代分布式系统中,日志管理是至关重要的一环。日志不仅用于排查问题,还可以用于监控系统性能、分析用户行为等。为了高效地收集、处理和可视化日志,企业通常采用Filebeat+Kafka+Logstash+Elasticsearch+Kibana的组合架构。本文将深入探讨这一架构的工作
- Elasticstack-日志分析平台
尼古拉斯-邓
linuxkafkacentos
#ElasticStack-日志分析平台##1.Filebeat```shellvim/etc/hostsip1dijiaip2meimeiip3biaobei```###Filebeat安装```shellcurl-L-Ohttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.13.2-linux-x86_64.tar.g
- 部署Wordpress(LNMP)+ELK
多练项目
Linux系统架构linuxelk运维
LNMP+EFK主机软件服务版本主机名192.168.100.100Nginx-1.18、Filebeatnode100192.168.100.101PHP-5.6.27node101192.168.100.102MySQL5.7node102192.168.100.103Kafkakafka103192.168.100.104Kafkanode104192.168.100.105Kafkanod
- 如何收集k8s pod的服务日志(rancher)
一方有点方
kubernetesrancher容器
一、环境情况说明当前环境是k8s+rancher+filebeat+es+kibana本文只讲解部署filebeat收集容器日志的过程、使用daemonset的方式部署filebeat,es+kibana+k8s已提前创建好的二、部署安装1、在已创建完成的k8s环境中,用kubectl先创建一个命名空间elk-log,新增一个filebeat目录,上传一下4个代码文件filebeat.daemon
- 集群部署Elasticsearch+Logstash+Kibana+Filebeat+Kafka+Zookeeper
YH746
日志分析系统linux
目录引言一、安装Zookeeper步骤1、准备阶段(全部节点操作,以node1为例)(1)关闭防火墙和系统安全机制(全部节点操作,以node1为例)(2)同步时钟源(全部节点操作,以node1为例)(3)JDK的安装(全部节点操作,以node1为例)(4)配置hosts(全部节点操作,以node1为例)2、安装Zookeeper软件包(全部节点操作,以node1为例)3、修改配置文件(全部节点操作
- elfk+zookeeper+kafka数据流
AustinCien
zookeeperkafkaelk
申请7台部署elfk+zookeeper+kafka数据流:filebeat(每台app)------>【logstash(2)+kafka(3)】------->logstash(1)------->【elasticsearch(3)+kibana(1)】
- deepseek部署:ELK + Filebeat + Zookeeper + Kafka
AustinCien
deepseekelkzookeeperkafka
##1.概述本文档旨在指导如何在7台机器上部署ELK(Elasticsearch,Logstash,Kibana)堆栈、Filebeat、Zookeeper和Kafka。该部署方案适用于日志收集、处理和可视化场景。##2.环境准备###2.1机器分配|机器编号|主机名|IP地址|部署组件|----------|--------------|--------------|--------------
- 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设计
这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。
&