- 第 2-2 课:深入探究底层原理,应用更加得心应手
Java大联盟
案例上手Spring全家桶SpringSpringBootSpringCloudSpringMVCSpringSpringBootSpring
前言上一讲我们学习了SpringMVC框架的使用,为了更好地理解这个框架,本讲来仿写一个SpringMVC框架,用到的技术比较简单,只需要XML解析+反射就可以完成,不需要JDK动态代理。自己手写框架的前提是必须理解框架的底层原理和运行机制,因此我们还是先来回顾一下SpringMVC的实现原理。SpringMVC实现原理SpringMVC的核心组件和工作流程的内容具体可以参考第2-1讲的内容,通过
- AOP面向切面编程
科马
javaspringjava后端
AOP面向切面编程如何理解面向切面编程举例理解:核心概念:SpringAOP两种配置风格基于注解的`@AspectJ`风格基于XML的Schema风格代理机制JDK动态代理CGLIB代理编程方式创建代理配置AspectJ加载时织入如何理解面向切面编程面向切面编程(Aspect-OrientedProgramming,简称AOP)是一种编程范式,它允许开发者将横切关注点(如日志记录、事务管理等)与业
- 23种设计模式之代理模式
記億揺晃着的那天
设计模式代理模式
文章目录代理模式Spring中那些地方使用了代理模式代理的分类模版方法模式也能添加额外的功能,与代理模式有什么区别静态代理-简单实现jdk动态代理-简单实现Spring是如何实现jdk动态代理的cglib动态代理-简单实现Spring是如何实现cglib动态代理的jdk动态代理和cglib动态代理有什么区别Spring是如何选择jdk动态代理或者cglib动态代理的总结-静态代理、动态代理代理模式
- Spring AOP中的动态代理:JDK动态代理和CGLIB动态代理
裘马轻狂大帅
静态代理模式 所谓静态代理就是AOP框架会在编译阶段生成AOP代理类,因此也称为编译时增强。ApsectJ是静态代理的实现之一,也是最为流行的。静态代理由于在编译时就生成了代理类,效率相比动态代理要高一些。AspectJ可以单独使用,也可以和Spring结合使用。动态代理模式 与静态代理不同,动态代理就是说AOP框架不会去修改编译时生成的字节码,而是在运行时在内存中生成一个AOP代理对象,这个AO
- jdk动态代理与cglib动态代理:
爱为斯坦
JAVAjava开发语言动态代理
最近在用java实现redis,在使用动态代理时遇到了一点问题,即使用jdk动态代理(Invocationhandler)时,如果代理对象是一个接口的实现类,那么此时动态代理获取到的method对象是接口中的,而不是实现类的,现象是:我在实现类中对接口方法上新增了注解,但是此刻method反射获取不到注解信息,于是大概整理了一下这两者的区别JDK动态代理:获取的是接口中的方法信息,因此如果注解是在
- java实用工具类hutool
华木公子
cn.hutoolhutool-all5.5.8Hutool工具详细教程地址:###模块介绍1.hutool-aopJDK动态代理封装,提供非IOC下的切面支持;2.hutool-bloomFilter布隆过滤,提供一些Hash算法的布隆过滤;3.hutool-cache简单缓存实现;4.hutool-core核心,包括Bean操作,日期,各种Util等等;5.hutool-cron定时任务模块,
- JdkDynamicAopProxy学习
weixin_44877172
Spring学习javaspring
简介JdkDynamicAopProxy#invoke是SpringAOP(面向切面编程)框架中用于动态代理的核心方法之一。这个方法是在使用JDK动态代理时,通过JdkDynamicAopProxy类创建的代理对象上调用目标方法时,被自动调用的。以下是该方法的解析:方法签名首先,我们先看一下invoke方法的签名:publicObjectinvoke(Objectproxy,Methodmetho
- Java动态代理瞎想
太大_453b
代理模式分为动态代理和静态代理静态代理:定义一个人类的接口:Person实现类:Student代理类:StuProxy实现Person在重写方法中调用Student,从而实现消息过滤,日志插入等AOP功能动态代理:JDK动态代理Studentstudent=newStudent();Personperson=(Person)Proxy.newProxyInstance(student.getCla
- 瑞_23种设计模式_代理模式
瑞486
23种设计模式设计模式代理模式java
文章目录1代理模式(ProxyPattern)1.1介绍1.2概述1.3代理模式的结构2静态代理2.1介绍2.2案例——静态代理2.3代码实现3JDK动态代理★★★3.1介绍3.2代码实现3.3解析代理类3.3.1思考3.3.2使用Arthas解析代理类3.3.3结论3.4动态代理的执行流程4CGLIB动态代理★4.1介绍4.2代码实现5总结5.1三种代理的对比5.1.1jdk代理VSCGLIB代
- 为什么SpringBoot默认使用CGLIB作为代理的实现方式呢?
silence1102
springbootspringboot
1.兼容性SpringBoot默认使用CGLIB作为代理的实现方式是因为CGLIB能够代理那些没有实现接口的类,而JDK动态代理只能代理实现了接口的类。因此,使用CGLIB作为代理方式更加灵活,可以对更多的类进行代理。2.性能另外,CGLIB在性能方面也有一定的优势,相对于JDK动态代理来说,CGLIB代理的效率更高。因此,SpringBoot选择默认使用CGLIB作为代理的实现方式,以便提供更加
- jdk和cglib动态代理
娟宝宝萌萌哒
javajdkcglib动态代理
文章目录静态代理和动态代理动态代理原理jdkcglib静态代理和动态代理静态代理:代理类在编译期已经存在在.class文件中。动态代理:程序运行时,通过反射机制动态创建而成。如果需要为不同的主题类提供代理,需要一一增加代理类,导致类个数急剧增加,所以需要在运行时创建动态代理。动态代理原理jdk动态代理需要主题类实现接口,使用替换借口实现类为代理类的方式代理主题类。如果主题类没有实现接口,则需要使用
- Java代理模式
你知道“铁甲小宝”吗丶
javajava代理模式系统安全
文章目录前言一、正常(不使用代理的情况下)二、静态代理1.编写代码2.执行结果三、动态代理1.JDK动态代理2.CGLib代理2.1引入依赖库2.2定义接口和实现类2.3拦截器2.4代理类2.5测试类总结前言Java代理是一种设计模式,它允许在不改变原始类或接口的情况下对其进行增强或修改。一、正常(不使用代理的情况下)假设我们有一个名为UserService接口和实现类,它提供了两个方法addUs
- 代理模式介绍(静态代理、jdk动态代理、cglib代理)
小白杂货店
设计模式代理模式java开发语言动态代理
一、静态代理(一)定义1、定义为其他对象提供一种代理以控制对这个对象的访问;2、涉及到的角色(1)抽象主题角色:真实主题和代理主题的共同接口,便于在使用真实主题的地方都可以使用代理主题;(2)代理主题角色:代理类,负责控制对真实主题的引用,在需要的时候创建和删除真实主题,并且在真实主题处理完毕后做预处理和善后处理的工作;(3)真实主题角色:被代理角色,业务逻辑的具体执行者;(二)类图(三)代码实现
- 《我想进大厂》之Spring夺命连环10问
艾小仙人
1.说说Spring里用到了哪些设计模式?单例模式:Spring中的Bean默认情况下都是单例的。无需多说。工厂模式:工厂模式主要是通过BeanFactory和ApplicationContext来生产Bean对象。代理模式:最常见的AOP的实现方式就是通过代理来实现,Spring主要是使用JDK动态代理和CGLIB代理。模板方法模式:主要是一些对数据库操作的类用到,比如JdbcTemplate、
- 【Spring】代理模式
小小Yi学编程
Springspring代理模式java
文章目录代理模式对代理模式的理解静态代理动态代理JDK动态代理原理源码优化CGLIB动态代理使用原理JDK与CGLIB的对比面试题JDK动态代理和CGLIB有什么区别?既然有没有接口都可以用CGLIB,为什么Spring还要使用JDK动态代理?代理模式对代理模式的理解代理模式作用:保护对象,功能增强代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直
- 源码梳理(3)MybatisPlus启动流程
西瓜'
源码梳理mybatis
文章目录1,MybatisPlus的使用示例2,BaseMapper方法的执行2,1MybatisMapperProxy代理对象2.2InvocationHandler接口(JDK动态代理)2.3MapperMethodInvoker接口2.4MybatisMapperMethod3,SqlSession的执行流程3.1SqlSessionTemplate3.2Proxy类中的newProxyIn
- Spring AOP原理的常见面试题
墨溱
springjava后端
SpringAOP原理的常见面试题.SpringAOP是怎么实现的什么是代理模式静态代理动态代理怎么实现的JDK动态代理CGLIB动态代理引入依赖JDK与CJLIB的区别什么时候使用JDK与CJLIB.SpringAOP是怎么实现的答:SpringAOP是通过动态代理来实现AOP的什么是代理模式答:代理模式也被称为委托模式那么什么是代理模式呢?为其他对象提供一种代理用来控制这个对象的访问,他的作用
- 【23种设计模式·全精解析 | 结构型模式篇】7种结构型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
蓝染-惣右介
设计模式设计模式java软件工程uml
文章目录结构型模式1、代理模式(1)概述(2)结构(3)静态代理(4)JDK动态代理(5)CGLIB动态代理(6)三种代理的对比(7)优缺点(8)使用场景2、适配器模式(1)概述(2)结构(3)类适配器模式(4)对象适配器模式(5)应用场景(6)JDK源码解析3、装饰者模式(1)概述(2)结构(3)案例(4)使用场景(5)JDK源码解析(6)静态代理和装饰者的区别4、桥接模式(1)概述(2)结构(
- Java中的代理
迷思特王
java开发语言
Java中的代理静态代理静态代理实现的步骤代码示例动态代理JDK动态代理Proxy类InvocationHandler接口实现步骤代码示例CGLIB动态代理MethodInterceptor接口Enhancer类实现步骤代码示例JDK代理与CGLIB代理的区别静态代理与动态代理的区别总结代理字面意思就是使用一个类,代表其他的类,去额外增加一些操作。静态代理静态代理非常简单,但是使用较少,因为对目标
- Spring5框架基础详解(四) (AOP概念、AOP术语、AOP底层原理、JDK动态代理实现、AOP操作)
大黄烽
springjavaspring代理模式xml
文章目录一、什么是AOP二、AOP术语三、AOP底层原理四、AOP(JDK动态代理实现)五、AOP操作5.1AOP操作(基于AspectJ注解方式)5.2完全注解开发一、什么是AOP面向切面编程,不通过修改源代码方式,在主干功能里面添加新功能。二、AOP术语1.连接点:类里面哪些方法可以被增强,这些方法称为连接点2.切入点:实际被真正增强的方法,称为切入点3.通知(增强):(1)实际增强的逻辑部分
- Spring5系列学习文章分享---第三篇(AOP概念+原理+动态代理+术语+Aspect+操作案例(注解与配置方式))
码农阿豪
Spring5系列java开发语言aopspring5
目录AOP概念AOP底层原理AOP(JDK动态代理)使用JDK动态代理,使用Proxy类里面的方法创建代理对象**编写****JDK**动态代理代码AOP(术语)AOP操作(准备工作)**AOP****操作(**AspectJ注解)**AOP****操作(**AspectJ**配置文件)**开篇:欢迎再次来到Spring5学习系列!在这个博客中,我们将深入研究Spring框架的AOP概念+原理+动
- 3.Feign代理目标方法执行流程
阿......嚏
java开发语言
Feign调用目标方法总体分为两种方式:直接调用vs融合服务治理。服务治理主要基于两个指标【接口超时、接口异常】保护目标服务,相较于直接调用,Feign主要是在调用目标方法之前增强方式来实现服务治理涉及的降级&熔断功能。增强功能主要体现在JDK动态代理核心类InvocationHandler中,默认情况下选择FeignInvocationHandler,服务治理则选择FeignCircuitBre
- 手写实现一个动态代理框架
黄俊懿
手写源码系列java开发语言后端jvm代理模式Java基础源码
手写实现一个动态代理框架什么是代理模式什么是动态代理动态代理中的编译、类加载与对象实例化手写实现一个动态代理框架实现细节DynamicProxyHandlerProxy生成代码写入代码到磁盘文件调用编译器进行编译调用类加载器进行类加载反射实例化删除前面生成的java文件和class文件Coder来玩一把JDK动态代理和我们的区别最近写了一个动态代理框架,在这里分享一下,顺便分析一下动态代理的原理,
- 如何自己手动模拟一个JDK动态代理?看了还不会来找我
JAVA开发之路
最近一直在钻研Spring的源码,Spring底层大量使用了动态代理。所以花一些时间对动态代理的知识做一下总结。我们自己动手模拟一个动态代理对JDK动态代理的源码进行分析场景:publicinterfaceMyService{voidtest01();voidtest02(Strings);}publicclassMyServiceImplimplementsMyService{@Override
- 《深入浅出Spring》JDK动态代理和CGLIB
猿一一
Springspring代理模式java
静态代理有一个接口IService,如下:packagecom.yuan11.proxy;/***@title:IService*@Authoryuan11*@Date:2022/6/1322:58*@Version1.0*/publicinterfaceIService{voidm1();voidm2();voidm3();}以及实现类:packagecom.yuan11.proxy;/***@
- 设计模式之代理模式-动态代理详解(JDK动态代理和CGLIB动态代理)
悬浮海
Java设计模式代理模式动态代理cglib动态代理jdk动态代理
文章目录一、本文内容二、为什么要用代理三、jdk动态代理详解3.1、java.lang.reflect.Proxy3.1.1、getProxyClass方法3.1.2、newProxyInstance方法3.1.3、isProxy方法3.1.4、getInvocationHandler方法3.2、创建代理:方式一步骤案例先来个接口IService创建IService接口的代理对象运行输出3.3、创
- 代理模式详解(重点解析JDK动态代理)
塌鼻子巴巴鲁
设计模式代理模式java开发语言
-定义在解析动态代理模式之前,先简单看下整个代理模式。代理模式分为普通代理、强制模式、动态代理模式。其中动态代理模式主要实现方式为JavaJDK提供的JDK动态代理,第三方类库提供的,例如CGLIB动态代理。代理模式就是为其他对象提供一种代理以控制对这个对象的访问。-通用类图-代理模式的优点*职责清晰真实的角色就是实现实际的业务逻辑,不用关心其他非职责的事务,通过后期的代理完成一件事务,附带的结果
- 关于Spring的最常见的十道面试题
lose_rose777
面试题javaspringspringboot面试
面试题一:JDK动态代理和CGLib有什么区别?JDK动态代理(JDKProxy)和CGLib都是Spring中用于实现AOP代理的技术,但是它们之间存在以下区别:来源不同:JDKProxy是Java语言自带的功能,无需通过第三方类实现。Java对JDKProxy提供了稳定的支持,并且会持续地升级和更新JDKProxy;而CGLib是第三方提供的工具,基于ASM(一种字节码操作框架)实现的使用场景
- 代理模式(静态代理、JDK 动态代理、CGLIB 动态代理)
在人间负债^
沧海一粟代理模式java开发语言
代理模式(静态代理、JDK动态代理、CGLIB动态代理)一、代理模式概述1.生活中的代理案例2.为什么要使用代理3.代理模式在Java中的应用4.概述5.生活中代理图示二、代理的实现方式1.Java中代理图示2.静态代理2.1案例2.2实现案例2.3静态代理存在的问题三、动态代理1.概述2.JDK动态代理2.1基础准备2.2实现InvocationHandler接口2.3测试2.4底层运行原理3.
- Java 代理详解
xwhking
Java面试题java开发语言
Java代理详解文章目录Java代理详解1.代理模式2.静态代理3.动态代理3.1.JDK动态代理机制3.1.1.介绍3.1.2.JDK动态代理类使用步骤3.1.3.代码示例3.2.CGLIB动态代理机制3.2.1.介绍3.2.2.CGLIB动态代理类使用步骤3.2.3.代码示例3.3.JDK动态代理和CGLIB动态代理对比4.静态代理和动态代理的对比5.总结文章来自JavaGuide用于学习如有
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s