- 监听回调事件模式
石器时代小古董
和通过数据进行交互类似,监听回调模式除去了数据作为中间层,而直接在客户端中向框架传入监听,框架处理完事件后,通过回调通知客户端。监听集合通过一个SparseArray来存储监听privateSparseArraymOnNavigationStateChangeListenerGroup=newSparseArray();客户端传入监听doTask会触发具体的业务,然后通过回调回传给客户端publi
- HashMap、ArrayMap、SparseArray
俗人浮生
1、HashMap的数据结构HashMap的数据结构为:数组+链表/红黑树我们都知道HashMap中处理hash冲突的方法是链地址法,也就是说,如果有多个元素key的hash值相同的话,后一个元素并不会覆盖上一个元素,而是采取链表的方式,把之后加进来的元素加入链表末尾。这里要注意的是,链表是单链表。而至于红黑树是jdk1.8加进去的一个优化,也就是说桶中的结构可能是链表,也可能是红黑树,采用红黑树
- (Note) Android-SparseArray
CokeNello
ThanksEmptyArray.javaArrayUtils.java面试必备:SparseArray源码解析SparseArray.javaGrowingArrayUtils.javaAndroid学习笔记之性能优化SparseArray类简介源码的类简介:/***SparseArraysmapintegerstoObjects.UnlikeanormalarrayofObjects,*the
- 数据结构随手记: 稀疏数组
大邳草民
数据结构与算法数据结构java
目录1.什么是稀疏数组2.稀疏数组的表示方法3.稀疏数组与二维数组的转换1.什么是稀疏数组稀疏数组(sparsearray)是一种针对具有大量重复或者值为零的元素的数组的优化表示方法。稀疏数组通过记录原始数组中非零元素的位置和值,来减少存储空间的占用。在稀疏数组中,通常使用三元组的形式来表示非零元素,即记录元素的行号、列号和值。对于原始数组中的零元素,则不进行记录。通过使用稀疏数组,可以有效地减少
- Android内存优化(使用SparseArray和ArrayMap取代HashMap)
度憨憨
Android内存优化(使用SparseArray和ArrayMap取代HashMap)在Android开发时,我们使用的大部分都是Java的api,比方HashMap这个api,使用率非常高,可是对于Android这样的对内存非常敏感的移动平台,非常多时候使用一些java的api并不能达到更好的性能,相反反而更消耗内存,所以针对Android这样的移动平台,也推出了更符合自己的api,比方Spa
- 稀疏数组和队列
GBK丶
1.稀疏sparsearray数组1.1.看一个实际的需求编写编写的五子棋程序中,有存盘退出和续上盘的功能。分析问题因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据=>稀疏数组。1.2.基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1.记录数组一共有几行几列,有多少个不同的值2.把具有不同值的元素的行列及值记录在一个小
- SparseArray的使用
FightFightFight
Android系统开发SparseArray使用
SparseArray简介SparseArray是android.util包中一个用于映射int和对象的数据结构,内部使用数组实现,分别将key和value保存在两个数组中,它避免了自动装箱操作,同时其数据结构不依赖于每个映射对象,因此比起HashMap来说更加高效。特点:1.通过二分法查找数据。2.不适合存储大数据。3.比起HashMap,执行效率慢,查找通过二分法,添加和删除需要插入和删除数组
- SparseArray和SparseArrayCompat的使用
记忆九天
SparseArray和SparseArrayCompat是android内部特有的api,功能与HaspMap的功能类似。SparseArray只能在API19以上的系统里面才有这个类,也就是Android4.4以上。于是SparseArrayCompat就是为了兼容更低的版本而存在的。所以SparseArray和SparseArrayCompat实际上是一样的。SparseArray(稀疏数组
- 性能优化
蒸汽飞船
使用更加轻量的数据结构考虑使用Android专门的ArrayMap/SparseArray而不是HashMap等传统数据结构,SparseArray更加高效在于他们避免了对key与value的autobox自动装箱,并且避免了装箱后的解箱。避免在Android里面使用Enum,使用enum比静态int省的dex大一倍。使用@Intdef避免View的泄露导致Activity的泄露,2.3的Draw
- Android知识点2
面具猴
1.DrawerLayout可滑动范围的设置通过反射mEdgeSize属性实现:privatevoidsetDrawerRange(DrawerLayoutdrawerLayout){FieldmDragger=null;try{mDragger=drawerLayout.getClass().getDeclaredField("mLeftDragger");}catch(NoSuchFieldE
- SparseArray代替HashMap
郑捡书
http://blog.csdn.net/u010687392/article/details/47809295优缺点1.节省内存(没有自动封箱,key只能为int)2.存储和读取数据都使用二分法,查找速度更快,原本查找是遍历;元素有排序3.键只能是int使用场景:虽说SparseArray性能比较好,但是由于其添加、查找、删除数据都需要先进行一次二分查找,所以在数据量大的情况下性能并不明显,将降
- hive中map相关函数总结
浊酒南街
大数据系列三hivehadoop数据仓库
目录hive官方函数解释示例实战hive官方函数解释hive官网函数大全地址:hive官网函数大全地址ReturnTypeNameDescriptionmapmap(key1,value1,key2,value2,…)Createsamapwiththegivenkey/valuepairs.arraymap_values(Map)Returnsanunorderedarraycontaining
- HashMap,SparseArray比较
游侠_6fb7
数据基于JDK1.8主要分析分析SparseArray,HashMap查找效率,内存空间占用原理分析HashMap数据结构数组+链表2695420-df501397c13049c4.jpg从数据结构图上看,存取时,先通过hash模获取index,到对应的index下创建链表存取,这样结构的问题:hash冲突问题存放在链表中hash数组扩容问题那么hashmap什么时候进行扩容呢?当hashmap中
- 数据结构--稀疏矩阵及Java实现
勤奋的小狮子YY
数据结构与算法算法java数据结构
一、稀疏sparsearray数组1、先看一个实际的需求编写的五子棋程序中,有存盘退出和续上盘的功能。分析问题:因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据.->稀疏数组。2、稀疏数组基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。组的处理方法是:①记录数组一共有几行几列,有多少个不同的值②把具有不同值的元素的行列及值记录在一个小规模的数
- 2020Android面经,历时一个半月,斩获3个大厂offer,kotlin打包成exe
m0_66144992
程序员架构移动开发android
讲下leakCanary原理。为什么不用虚引用?引用队列里面存的是什么?内存数据是如何dump出来的?讲下OkHttp的实现。拦截器的顺序,网络拦截器和普通拦截器有什么区别?它的线程池是怎样的?如何管理的?glide的三级缓存如何做的?rxjava的原理。rxjava的线程切换如何实现的?map和flatmap操作符区别;zip和merge操作符区别。ArrayMap和SparseArray的作用
- 前言
斌斌爱学习
写这个专题的目的因为作为一个android开发工程师,如果不了解Java常用的数据结构和算法的话,那我相信他是进不了大公司的。一般大公司的android面试经常会问一些这方面的问题。比如,我们你SparseArray你有没有了解过,如果你不知道,那估计这轮面试你就悬了。这里咱先不说SparseArray,咱们以后会谈到。在这里,我们先介绍一下这个专题会谈到的内容。既然是数据结构和算法,那肯定是分为
- 性能优化(一)堆内存分析
listen2code
Android内存优化Android
前言通过AndroidStudio的MemoryMonitor工具,对各种数据类型,如:boolean,int,float,long,SparseArray,HashMap等在内存的占用情况进行分析。对一些特定场景下的代码编写,如:String拼接,OnClickListener等所消耗的内存情况进行分析。通过分析,更好的了解了不同情况下堆内存是如何分配的,也确切验证了以往诸多的代码经验,为高效合
- Android基础(26)ArrayMap与SparseArray
perry_Fan
一.SparseArraySparseArray(稀疏数组)。他是Android内部特有的api,标准的是没有这个类的。在Android内部用来替代HashMap这种形式,使用SparseArray更加节省内存空间的使用,SparseArray也是以key和value对数据进行保存的。使用的时候只需要指定value的类型即可。并且key不需要封装成对象类型。很多人都会误认为SparseArray要
- Android 面试题
茶杯里的阳光
10S2-挂号问诊重构258个bug1390arrayMap扩容:4>42=8>8+81/2=12>18>...查找方式:二分法查找SparseArray扩容:默认值为16需要2倍的扩容数组key唯一的值Hashtable扩容:默认容量11,加载因子0.75)Hashtable与HashMap的比较HashMap是非线程安全的,HashTable是线程安全的;HashTable内部的方法基本都经过
- android glide资源图片的宽高,Android知识点——Glide获取图片宽高
国金鹏
androidglide资源图片的宽高
先扯两句先很负责任的说一下,这个内容也是百度来的,但是很不负责任的是,当初只记录解决方案,忘了记录是查看的哪篇博客了,这里先对不知道借鉴的谁表示感谢。无法分享链接,就厚着脸皮把(转)字去掉了,请大家谅解。先提供一下Android知识点——目录的链接,然后让我们进入正题。正文实际上,这篇博客所说的内容并不是所有人都可以用到,毕竟大多数时候,我们只需要展示图片,而并不需要知道图片的宽高;有的时候我们只
- Android 进阶学习(二十一) 面试一周总结(二) 2021面试题及部分答案
Tsm_2020
Android相关1.关于Android特有的数据结构面试过程中很多人不会直接问你知道ArrayMap和SpareArray吗,而是问你android特有的数据结构,只不过是换了一个说法说道这里我先和大家说一下一个关于问到数据结构比如hashmaparraymapsparearray之类的问题,如果想要条理清晰的说出来,最好的突破方式就是先从他自身的数据结构开始,他自身的数据结构能决定大部分他自身
- 【数据结构(二)】稀疏 sparsearray 数组(1)
Cpdr
Java数据结构数据结构java算法
文章目录1.稀疏数组的应用场景1.1.一个实际的需求1.2.基本介绍2.稀疏数组转换的思路分析3.稀疏数组的代码实现3.1.二维数组转稀疏数组3.2.稀疏数组转二维数组4.课后练习1.稀疏数组的应用场景1.1.一个实际的需求问题: 编写的五子棋程序中,有存盘退出和续上盘的功能。分析问题: 因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据->稀疏数组1.2.基本介绍
- SparseArray:解析与实现
kross
介绍Android提供了SparseArray,这也是一种KV形式的数据结构,提供了类似于Map的功能。但是实现方法却和HashMap不一样。它与Map相比,可以说是各有千秋。优点占用内存空间小,没有额外的Entry对象没有Auto-Boxing缺点不支持任意类型的Key,只支持数字类型(int,long)数据条数特别多的时候,效率会低于HashMap,因为它是基于二分查找去找数据的相关参考Spa
- GO数据结构(一)——稀疏数组
undertale flower
算法数据结构golang开发语言
目录1.稀疏数组1.1实际问题(棋盘)1.1.1存盘1.1.2续盘1.稀疏数组稀疏数组(sparsearray)基本介绍:当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。本质上就是压缩数组。稀疏数组的处理方法: 1.记录数组一共有几行几列,有多少个不同的值。 2.把具有不同值的元素的行列以及值,记录在一个小规模的数组中,从而缩小程序的规模。1.1实际问题(棋盘)如
- SparseArray 学习
逗比喵喵
在安卓项目中,新建一个HashMap对象,会有提示:建议使用SparseArray会有更好的表现.尤其是键为Integer类型的maps,更加高效.尤其是value是原始数据类型时,可以使用SparseIntArray等来避免装箱的操作.(其实还有其它优势)为什么叫SparseArray?SparseArray稀疏数组.为什么叫稀疏?先来看下Javascript中关于稀疏数组的定义:稀疏数组就是包
- Android知识点——Retrofit+RxJava+OkHttp(下)使用
半寿翁
Android知识点android
先扯两句好了,上一篇闲扯过后,算是将我为什么会把Retrofit说出来了吧(虽然好像什么都没说),当然还有其他框架,作为一个懒人,我这里就不加以阐述了,还是进入整体,开始进入我们的使用的部分。还是先上我的Git库MyBaseApplication(https://github.com/BanShouWeng/MyBaseApplication)并给大家展示个神器,叫Android知识点——目录,好
- Android知识点——Retrofit+RxJava+OkHttp(上)闲扯
半寿翁
Android知识点android
先扯两句很久不扯了,刚敲出来这四个字的时候,还真把自己弄得愣了一下。首先对这段时间关注我的博客的说声抱歉,前段时间有点事,断了一段时间,今后会尽量避免的,嘿嘿。当然原本的套路今天应该写的是RecyclerView.Adapter的封装,不过因为又踏上了找工作的征程,所只好把这个相对更重要一些的部分拿到前面了。这篇主要是分析一下我用过的一些框架,借机传达一些个人在开发中的一些小意见,没有兴趣的可以直
- Android面试题 2018
一点墨汁
转自:https://juejin.im/post/5af82ee1f265da0b934865baAndroid面试题整理(2018)本文分为Java基础、Android知识点、设计模式、算法、网络等,抛砖引玉,大家可酌情服用水平一般,个人整理题目来源于网络搜集结合右下角目录食用更佳不再更新了(作者两年经验,断断续续写了四个月左右,之后集中面了魔都30多家一二线的互联网公司,拿到了2/3的off
- Android知识点-虚拟按键
半寿翁
这篇没啥说的,就是记录一下虚拟按键的实现方案,当然,随着全面屏的手势操作普及,虚拟按键也快淘汰了,如果淘汰的说法不对,业界大佬也别喷我,就当一个小菜鸟的新年愿望了。隐藏虚拟按键Windowwindow=getWindow();window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS|WindowManager.Layo
- 每日一道算法题+面试题day 5-6
听风丨说话
算法和数据结构面试算法题面试专栏Android面试数据结构和算法面试题
文章只是总结,便于面试和手写算法。细节和详细解释,请看:https://leetcode-cn.com/1.题目算法题:1.有效的字母异位词:给定两个字符串,判断是否是字母异位词(字母打乱)2.两数之和:给定一个数组,和一个target值,返回两数和为target的角标3.三数之和:给定一个数组,判断是否存在a+b+c=0的元素面试题:1.View的事件分发机制2.sparseArray2.基本知
- 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
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,