- next.js 如何实现动态路由?
在Next.js12中,动态路由和参数传递主要通过文件系统路由(File-systemRouting)实现。以下是详细步骤和示例:一、创建动态路由文件命名规则在pages目录下创建文件名用[参数名].js格式的文件,例如:pages/posts/[id].js//单个参数pages/[category]/[id].js//多段参数匹配的URL示例/posts/123→id:'123'/ne
- 磁盘性能测试参数
平凡之路001
LINUX性能测试参数:•测试随机写IOPS:fio-direct=1-iodepth=128-rw=randwrite-ioengine=libaio-bs=4k-size=1G-numjobs=1-runtime=1000-group_reporting-filename=iotest-name=Rand_Write_Testing•测试随机读IOPS:fio-direct=1-iodepth
- 迁移 Docker 数据目录 no space left on device
老罗技术
杂项dockereurekajava
Docker加载镜像时提示存储空间不dockerload-ielectron-builder-wine.tarwrite/blobs/sha256/4f9e861834a8ea1087d33ae79dd3bdd92eabdb72b7aca6b700c073c9fa4ab69f:nospaceleftondevice迁移Docker数据目录#停止Docker服务sudosystemctlstopdo
- 华为HiCar认证
Microtest_CS
华为服务器运维
华为HiCar认证是针对车载智能互联系统的一项认证,旨在确保设备和应用能够与华为HiCar系统无缝连接和交互,从而为用户提供智慧出行体验。通过认证,设备和应用能够获得华为的官方认可,提升产品竞争力和市场认可度。华为HiCar认证项目:1.功能兼容性测试:验证设备和服务是否能与HiCar系统正常连接,以及各项功能是否能够在车载环境中正常运行;2.性能测试:对设备和服务进行性能测试,包括响应时间、数据
- 零基础学习性能测试第一章:核心性能指标-吞吐量QPS/TPS
试着
性能测试学习性能测试零基础性能指标QPSTPS
目录零基础学习性能测试:第一章-核心性能指标:吞吐量(QPS/TPS)一、吞吐量核心概念解析1.吞吐量定义与分类2.核心区别与关系二、吞吐量关键价值与工作应用1.吞吐量的业务意义2.实际工作场景应用三、吞吐量测试实战指南1.测试工具选择2.JMeter吞吐量测试全流程3.关键配置参数四、吞吐量瓶颈分析与优化1.瓶颈定位四步法2.常见瓶颈及解决方案3.优化案例:电商系统吞吐量提升五、工作应用模板与工
- 零基础学习性能测试第一章:核心性能指标-响应时间
试着
性能测试学习性能测试零基础性能指标响应时间
目录核心学习理念:聚焦实战、理解本质、快速应用**第一阶段:理解响应时间的本质(1-2小时)第二阶段:学习如何测量响应时间(动手实践,2-4小时)第三阶段:将响应时间应用到实际工作(核心目标)第四阶段:快速应用的关键技巧与注意事项总结与行动清单(今天就能开始做!)零基础学习性能测试的核心指标——响应时间,并能快速应用到工作中,这个目标很明确!下面我将为你设计一个结构化的学习路径,从概念到实践,让你
- 零基础学习性能测试第一章:性能需求分析
试着
性能测试学习数据库服务器性能测试零基础需求分析
目录**核心学习理念****模块1:理解性能需求分析的价值(1小时)****1.1为什么必须做需求分析?****1.2性能需求四要素**(附企业级模板)**模块2:四步挖掘性能需求(实战核心)****步骤1:识别关键业务场景(2小时)****步骤2:量化业务负载(3小时)****步骤3:定义性能指标(2小时)****步骤4:明确环境与数据要求(1小时)****模块3:输出需求文档(企业级模板)**
- 零基础学习性能测试第三章:执行性能测试
试着
性能测试学习性能测试零基础
以下是针对零基础学习性能测试的第三章:执行性能测试的详细学习内容设计,聚焦实战操作与快速应用,助你高效上手:第三章核心目标:学会独立执行完整性能测试,产出有效结果关键原则:标准化流程>工具操作>数据解读>风险规避学习模块1:测试前准备——决定成败的关键(占40%精力)1.1环境搭建标准化为什么重要:环境差异会导致结果失真(最常见失败原因)操作清单:硬件:确保测试服务器配置(CPU/内存/磁盘)≥生
- 零基础学习性能测试第一章-性能测试和功能测试的区别
试着
性能测试学习功能测试性能测试零基础
目录零基础学习性能测试:性能测试与功能测试的核心区别一、核心概念对比(本质区别)1.测试目标差异2.测试方法对比3.工作流程差异二、实际工作场景应用指南1.何时使用功能测试?(适用场景)2.何时使用性能测试?(关键场景)3.协同应用模式三、工具链对比与实践1.工具选择矩阵2.工具使用对比(以用户登录为例)3.报告输出差异四、工作场景决策树决策指南:五、协同工作最佳实践1.项目各阶段配合2.协作工作
- 零基础学习性能测试第一章:核心性能指标-并发量
试着
性能测试学习性能测试零基础性能指标并发量
目录零基础学习性能测试:第一章-核心性能指标:并发量一、并发量核心概念解析1.并发量定义与分类2.并发量关键特性二、并发量测试的核心价值1.业务意义三角模型2.实际工作场景应用三、并发量测试实战指南1.测试工具配置要点2.并发测试四步流程3.JMeter并发测试实操四、并发瓶颈分析与优化1.并发瓶颈定位矩阵2.常见并发问题解决方案3.电商系统并发优化案例五、工作应用模板与工具1.并发测试报告模板2
- WSL介绍
bigleek
树莓派pico开发linux
WSL(WindowsSubsystemforLinux)是微软为Windows系统开发的一项功能,允许用户在Windows上直接运行原生的Linux环境,而无需传统的虚拟机或双系统。它通过轻量化技术将Linux工具、命令行和应用程序无缝集成到Windows中,是开发者、运维人员和Linux学习者的高效工具。一、WSL的核心特点1.无需虚拟机:直接在Windows中运行Linux二进制文件(如Ba
- linux proc/pid/stat解析
虚极静笃13
Linuxlinux
proc/pid/stat用于获取某一个进程的统计信息,实现过程见fs/proc/array.c的do_task_stat()1.stat数据$adbshellcat/proc/8385/stat1557(system_server)S82382300-11077952832//1~92085481152482003271661141296842630//10~1710-1022102284279
- linux + 宝塔面板 部署 django网站 启动方式:uwsgi 和gunicorn如何选择 ?
启动方式:uwsgi和gunicorn如何选择?项目uWSGIGunicorn协议uWSGI协议(可用HTTP/socket)HTTP协议启动方式命令或.ini配置文件命令参数或systemd配置兼容框架支持WSGI、uWSGI、FastCGI等仅支持WSGI性能高性能、极可调高性能、默认参数也够用配置复杂度❌比较复杂✅配置简单社区活跃⭐停滞不前,主作者不活跃⭐⭐活跃,现代化持续维护热部署支持✅支
- MJExtension
AlanGe
MJExtension:https://github.com/CoderMJLee/MJExtensionExamples【示例】AddMJKeyValueprotocoltoyourmodelifneeded【如果有需要,请在模型中加入MJKeyValue协议】ThemostsimpleJSON->Model【最简单的字典转模型】typedefenum{SexMale,SexFemale}Sex
- 字符串的翻转小结
是我真的是我
题目一给定一个字符串,如"csdn",编写函数返回翻转为"ndsc"的结果。思路不考虑库函数的情况下,采用递归的方式,每次返回从第二位开始的子串(同时递归下去)加上第一位字符,直到递归到剩下一个字符则直接返回即可。publicclassSolution{publicstaticvoidmain(String[]args){Stringstr="csdn";System.out.println(My
- day 27 打卡
weixin_39908253
AI学习笔记python人工智能数据分析
#绘制评估指标图,增加点论文中的工作量plt.figure(figsize=(15,10))#轮廓系数图plt.subplot(2,2,1)formin_samplesinmin_samples_range:subset=results_df[results_df['min_samples']==min_samples]plt.plot(subset['eps'],subset['ch_score
- UDP协议介绍
不想写bug呀
javaEEudp网络协议网络
目录一、UDP基本概念1、定义:2、特点:(1)无连接:(2)不可靠传输:(3)面向数据报:(4)全双工:二、UDP协议格式1、UDP报文结构2、各部分详解:(1)源端口号:(2)目的端口号:(3)UDP长度:(4)校检和:三、UDP使用注意事项四、基于UDP的应用层协议五、总结一、UDP基本概念1、定义:UDP(UserDatagramProtocol,用户数据报协议)是TCP/IP协议簇中位于
- Java 常用 API 详解:掌握核心类库,提升开发效率
大葱白菜
java合集开发语言java后端学习个人开发
作为一名Java开发工程师,你每天都在与各种Java标准库打交道。熟练掌握Java中的常用API是提高代码质量、提升开发效率的关键技能之一。本文将带你全面了解Java开发中最常用的API类和接口,包括:java.lang包中的核心类(如String,Object,Math,System)集合框架(Collection,List,Set,Map)多线程相关类(Thread,Runnable,Exec
- 接口测试框架3之httprunnerV3入门以及HttpRunner安装详解
吃喝玩乐秀起来
#接口测试接口
这里写目录标题一、HttpRunner简介二、HtttpRunner安装详解1.环境准备2.脚手架生成项目三、幕布登录的演练1.抓包2.脚本生成一、HttpRunner简介参考文案:https://mubu.com/doc/2vXRWPx5i3c密码:hogwarts1.为什么要开发HttpRunner(1).工具多而且杂接口测试工具,性能测试工具(2).学习成本高(3).团队协作难风格迥异,整合
- 【Java-多线程】如何提交一个线程到线程池?
Java自学之旅
大白话说Javajava开发语言
要将线程提交到线程池,主要通过Java的ExecutorService接口实现。以下是具体步骤和原理说明:一、核心步骤创建线程池ExecutorServiceexecutor=Executors.newFixedThreadPool(4);//创建固定4线程的池定义任务//Runnable接口(无返回值)Runnabletask=()->System.out.println("Runnable任务
- Apache与Nginx服务器区别简述
camellia_halo_
Apache与Nginx服务器区别1)nginx和apache的软件底层架构不一样。①:Nginx的并发性要比apache好很多;②:nginx属于轻量级服务器软件,apache属于重量级软件;③:nginx在处理静态页的效率要比apache好很多,apache在处理动态页面上的效率要比nginx高④:apache在安全性要比nginx要好。因此有一种不常用的组合:lnamp。2)运行模式不同的。
- 零基础学习性能测试第一章-为什么会有性能问题
试着
性能测试学习性能测试零基础
目录零基础性能测试:第一章-为什么会有性能问题?一、性能问题本质分析(黄金三角模型)1.资源不足的典型表现2.设计缺陷的灾难案例3.使用不当的五大雷区二、性能问题排查工具箱(即学即用)1.快速诊断命令表2.性能问题自检流程图3.真实工作场景解决方案三、性能优化的核心原则1.优化优先级法则2.必须避免的优化误区3.优化效果验证公式四、工作应用:性能问题排查清单1.五分钟快速检查表2.性能问题诊断报告
- LeetCode刷题 - Java常用输入输出
Sweet_pin
LeetCode刷题笔记leetcodejava
LeetCode刷题-Java常用输入输出基本语法导包importjava.util.Scanner;//或者直接导入下面两个包importjava.util.*;importjava.io.*;常用输入Scannersc=newScanner(System.in);//读一个整数intn=sc.nextInt();//读一个字符串,遇到分号则输入终止Strings=sc.next();//读一个
- docker更换国内加速器-更换华为加速器2025-717亲测可用docker 拉取镜像出错
longerxin2020
docker容器运维
[root@localhost~]#dockerpullnginxUsingdefaulttag:latestErrorresponsefromdaemon:Get"https://registry-1.docker.io/v2/":net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaiti
- Python文件与流处理:高效读写数据的艺术
不爱说话的分院帽
python快速入门python数据库开发语言
引言作为一名程序员,我们每天都需要与文件打交道——无论是读取配置文件、处理日志文件,还是存储程序生成的数据。Python提供了强大而灵活的文件处理能力,让这些操作变得简单高效。本文将深入探讨Python中的文件与流处理,帮助你掌握这一核心技能。、一、文件操作基础1.打开文件Python使用内置的open()函数来打开文件:#基本语法file=open('example.txt','r')#打开文件
- 【深度强化学习】MIP-DQN 实现案例(完整Python代码)
目录MIP-DQN算法概述建模基础训练阶段(Training)部署阶段(OnlineExecution)DNN网络转化为MIP表达式性能指标完整Python代码实现主函数:random_generator_battery模型函数:MIP_DQN基础/专用库包安装模型运行(完整Python代码)参数设置函数:Parameters参考本博客根据论文《Optimalenergysystemschedul
- mtk调试-camera
仅当做个人学习笔记使用,防丢失。原文链接:https://blog.csdn.net/qq_58703058/article/details/132994554Device:1、修改imgsensor相关(ProjectConfig.mk文件)device/mediateksample/{platform}/ProjectConfig.mk此文件用于将相关模块加入编译。2、在头文件中添加senso
- Android系统分区理解及分区目录细解
···Android分区:System分区,Data分区,Cache分区,SDCard分区.在Adb中使用df来查看分区情况。1跨分区不能用MV命令来拷贝。但是可以用CP命令。如PWD,当前目录为:/data/local/tmp。此目录下有个busybox和1.txt文件。则利用CP命令拷贝如下:./busyboxcp1.txt/system.2Android的用户组有System,root,sh
- Linux五大网络IO模型
Acto
一、须知对于操作系统来说,空间会分为用户空间与内核空间用户空间:用户程序的运行空间。为了安全,它们是隔离的,即使用户的程序崩溃,内核也不会受到影响。只能执行简单的运算,不能直接调用系统资源,必须通过系统接口(systemcall),才能向内核发出指令。内核空间:这是Linux内核的运行空间,可以执行任意命令,调用系统的一切资源通过用户空间访问系统空间并让其帮助我们完成我们所需要执行的操作或者任务二
- Python 代码生成 LaTeX 数学公式:latexify 示例 examples
文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。latexify示例本notebook提供了多个使用latexify的示例。更多细节请参阅官方文档。如有任何疑问,请在issuetracker中提出。安装latexify#运行下方示例前请先重启运行时。%pipinstalllatexify-pyCollectinglatexify-pyDownloadi
- JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm字节码Class文件StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
- 回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
- [时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
 
- 开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
- jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery开发插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
- Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
- RSA加密解密
无量
加密解密rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
- linux 软件安装遇到的问题
aichenglong
linux遇到的问题ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
- 面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
- java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
- 网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
- 探索JUnit4扩展:深入Rule
bijian1013
JUnitRule单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
- [CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
- 【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
- zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
- java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
- Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
javanetty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
- AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
- 文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
- mysql 在linux客户端插入数据中文乱码
daizj
mysql中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
- 好代码是廉价的代码
dcj3sjt126com
程序员读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
- Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
- ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化Oracle sql语句优化SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
- 浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android移动开发滑动机制嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
- 使用hovertree菜单作为后台导航
hvt
JavaScriptjquery.nethovertreeasp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
- SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
- 一个简单的队列
luyulong
java数据结构队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
- 基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
- 项目出现的一些问题和体会
Steven-Walker
DAOWebservlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
- 高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,