- C回调函数基础用法
定义:回调函数是通过函数指针传递给另一个函数的函数,这个被传进去的函数将在某个时刻被“回调”调用。换句话说:你定义一个函数A把函数A的地址(即函数指针)作为参数传给函数B函数B在合适的时机调用A(即“回调”)作用:用于“动态行为”、插件机制、自定义逻辑注入,非常常见于库函数、操作系统、图形界面、信号处理等场景。回调函数=把函数指针作为参数传进去,在“合适时机”通过这个指针调用你传进去的函数。cod
- 【C# in .NET】9. 探秘委托:函数抽象的底层机制
阿蒙Armon
C#in.NETc#.netjava
探秘委托:函数抽象的底层机制在C#的类型系统中,委托(Delegate)作为函数的抽象容器,架起了面向对象与函数式编程的桥梁。它不仅是事件驱动编程的核心,更是LINQ、异步编程等现代C#特性的基础。与类和结构体相比,委托的底层实现融合了引用类型的内存管理与函数指针的调用特性,涉及CLR对方法调度的深度优化。本文将从IL指令解析到JIT编译细节,全面揭示委托的本质机制,带你理解这一特殊类型如何在.N
- 嵌入式学习C语言(十五)指针函数 动态内存分配 函数指针 指针数组 指针指针
皮蛋sol周
学习c语言算法排序算法
目录一、指针函数二、动态内存分配malloc函数free函数realloc函数calloc函数reallocarray函数三、函数指针qsort函数四、指针数组五、指针的指针六、两句话技巧一、指针函数1.返回值为指针的函数,不能返回局部变量的地址,全局变量、静态变量与传进去的指针地址均可返。二、动态内存分配malloc函数1.void*malloc(size_tsize);2.size_tunsi
- C语言指针进阶完全指南:从多级指针到函数指针的深度探索
给老吕螺丝
#C语言c语言开发语言
掌握指针基础后,你将开启C语言真正的力量之门。本文通过实战代码示例和内存布局图解,带你系统攻克指针进阶技术。一、指针核心回顾与进阶重点核心概念:指针本质:存储内存地址的变量间接访问:通过地址操作数据指针大小:64位系统固定8字节(与类型无关)进阶重点:多级指针:处理复杂间接关系动态内存管理:精准控制内存生命周期函数指针:实现代码抽象与回调复杂结构:构建链表等动态数据结构二、多级指针:指针的指针内存
- C++游戏开发的一些高级常识(持续更新)
Silver Gamer
迈向游戏引擎工程师C++
C++游戏开发高级常识(纲领整理)前言序章C++开发细节基础1.C++类型转换2.C++静态相关3.C++函数指针4.C++函数指针返回值5.C++常量6.C++开发常用设计模式7.常用STL8.C++面向对象理解9.C++构造与析构10.虚拟内存与物理内存11.C++多态实现原理12.操作系统运行程序流程13.智能指针及其实现14.malloc和alloc的关联与详细过程15.C++内存模型16
- 如何阅读、学习 Git 核心源代码 ?
belldeep
LinuxGit学习git源代码
学习Git核心源代码是一个深入理解版本控制系统底层原理的绝佳方式。以下是分阶段的系统性建议,结合了实践经验和学习路径设计:一、前置知识储备C语言进阶重点掌握指针操作(尤其是二级指针和函数指针)结构体嵌套与内存对齐哈希表、链表等基础数据结构实现POSIXAPI系统调用(文件IO、进程控制)Git原理深入重读《ProGit》第10章(GitInternals)理解对象模型四元组:blob/tree/c
- C/C++注册机制
第1章基础知识1.1函数名是地址/*抽象的接口函数(函数指针)*/int(*pFunc)(inta);/*定义一个函数*/intfunc(inta){returna+1;}/*将接口和函数绑定(复制)*/pFunc=func;/*函数调用*/intresult=pFunc(12);1.2数组名是地址intarr[]={12,1,56,5689};int*pArr=arr;1.3不推理的写法不推荐理
- 跟我学C++中级篇—重载重写覆盖和隐藏
fpcc
C++11C++c++
一、函数的处理对于不少的开发者来说,函数在开发过程中是一个必须深入掌握的知识点。函数,看起来不难,应用起来也不难。但想要把函数用到灵活自如却不是一个简单的事情。在C++编程中,函数的应用其实相当复杂,就一个函数指针便可以让开发者头疼无比,更不要提其它的用法了。本文针对函数的升级用法进行一下分析说明,重点分析一下重载、重写、覆盖和隐藏这几个常见的用法,并对其功能、特点进行整体的对比,让大家能够有一个
- C++:指向类的成员的指针
是席木木啊
C/C++c++指针c语言
引: 想必接触过C的朋友们对C语言中指针的概念已经有了深入的了解(如果初步进行了解的朋友可以看一下**C语言基础学习笔记**)。指针展开来讲的基本知识点包括:指针的概念、指针的定义和初始化及简单使用、指针函数和函数指针(有关指针函数和函数指针的内容上面的链接中也有介绍)。 不得不说,C++作为C语言的扩展,在面向对象这一主体部分处处体现着指针的思想,好比:指针和引用。之所以这么说,是因
- C++ Primer系列 第19章 特殊工具与技术
哎呀熊熊熊
c++开发语言
C++Primer系列第19章特殊工具与技术19.1控制内存分配19.1.1重载new和delete19.1.2定位new表达式19.2运行时类型识别19.2.1dynamic_cast运算符19.2.2typeid运算符19.2.3使用RTTI19.2.4type_info类19.3枚举类型19.4类成员指针19.4.1数据成员指针19.4.2成员函数指针19.4.3将成员函数用作可调用对象19
- C++11 lambda
顾小玙
c++开发语言
前言在Cpp11以前,为了把函数当作对象调用,可以使用C中的函数指针类型,也可以使用Cpp98的仿函数。但二者都不是很好用,函数指针return_type(*name)(parameters)的长相就令人望而却步,仿函数将一个函数重载为一个类的operator()的方式又沉重麻烦。C++11中做出了(抄Python的)更灵活、轻便的lambda表达式。lambda表达式lambda表达式是一个匿名
- C语言---深入理解指针(3)
星竹晨L
C语言c语言
目录1字符指针变量2数组指针变量2.1什么是数组指针变量2.2数组指针变量的初始化3二维数组传参的本质4函数指针变量4.1两个有趣的代码4.2typedef关键字5函数指针数组6函数指针数组的应用---计算器的实现6.1计算器的一般实现6.2利用函数指针数组实现6.3一般实现的改进1字符指针变量在指针的类型中有一种指针类型为字符指针char*,一般使用:#includeintmain(){char
- 基于GD32F4XX的CAN总线消息处理系统
森焱森
c语言架构驱动开发单片机算法
基于GD32F4XX的CAN总线消息处理系统在嵌入式系统开发中,CAN总线广泛应用于汽车、工业自动化等领域。高效处理CAN总线数据对于系统性能至关重要。本文介绍基于GD32F4XX的CAN总线消息接收和解析系统,利用环形缓冲区和函数指针实现高效、灵活的数据处理。核心实现-环形缓冲区环形缓冲区用于暂存接收到的CAN消息,防止数据丢失。支持两种模式:正常模式(缓冲区满则丢弃新数据)和覆盖模式(缓冲区满
- 深入解析C#委托:从类型声明到对象创建
钢铁男儿
C#图解教程c#java前端
摘要:委托是C#实现事件驱动和回调机制的核心技术,其设计理念体现了「将方法作为参数传递」的函数式编程思想。本文将系统解析委托的声明与实例化过程。一、委托类型声明:定义方法签名模板委托本质是一种类型安全的函数指针类型,声明规则如下:delegatevoidMyDel(intx);//声明委托类型关键特征以delegate关键字开头包含返回类型(如void)和参数列表(如intx)无方法体(仅定义方法
- C去实现C++面向对象性质
lion_yc
c语言c++开发语言
C++中面向对象的性质有,封装、继承和多态。封装C中的struct结构体,属性(成员变量)和方法(成员函数)成员变量:直接在结构体内部定义即可成员函数:C中的struct结构体内部不可以定义函数所以我们采用全局函数+结构体指针参数实现类似于成员函数的功能继承使用类似组合的方式【通过嵌套结构体】多态多态的调用,离不开虚表在C中我们可以用函数指针来模拟虚表,在不同子类的构造函数中,对基类的函数指针进行
- C++面向对象2——再学C/C++:类与结构体
鸥梨菌Honevid
C编程:返璞归真c语言c++开发语言
C语言结构体函数使用函数指针#includestructcar{char*name;intage;void(*print)(structcar*c);};voidprintA(structcar*c){printf("CarAAAAname:%s,Age:%d\n",c->name,c->age);}voidprintB(structcar*c){printf("CarBBBBname:%s,Ag
- C# 之委托与事件详解
X-Vision
《C#学习笔记》c#开发语言
C#委托与事件详解剖析委托和事件是C#中实现松耦合和响应式编程的核心机制,本文将全面深入这两个重要概念。一、委托(Delegate)深入解析1.委托的本质委托实质上是一个类型安全的函数指针,它定义了方法的签名://声明委托类型publicdelegateintMathOperation(inta,intb);classProgram{staticintAdd(intx,inty)=>x+y;sta
- 深入理解 C++ Lambda表达式:四大语法特性 + 六大高频考点全解析
LyaJpunov
面试经典c++算法
Lambda表达式是C++11引入的一项重要特性,它极大地改变了我们编写匿名函数的方式。一、为什么会有Lambda表达式在C++11之前,当我们需要传递一个简单的函数时,通常有以下几种选择:1.1、定义一个单独的函数//单独定义的比较函数boolcompareInts(inta,intb){returnanumbers={4,2,5,1,3};//使用函数指针传递比较逻辑std::sort(num
- C#进阶指南
奔跑的大大晚
C#c#开发语言
C#是一种功能强大的编程语言,其高级语法特性为开发者提供了更灵活、高效和简洁的编程方式。以下是一些常见的C#高级语法特性:1.委托(Delegate)委托是一种类型安全的函数指针,用于封装方法的引用。它可以将方法作为参数传递,实现回调机制。定义委托:csharp复制publicdelegatevoidMyDelegate(stringmessage);使用委托:csharp复制publicvoid
- C++ 第一阶段项目二:温度转换工具
程序员弘羽
C++从入门到入土连载c++开发语言
目录一、项目简介二、项目目标三、功能需求四、项目亮点1.输入验证增强2.模块化设计3.错误处理机制五、代码实现(核心部分)1.主程序流程2.温度转换函数六、运行示例七、扩展建议1.历史记录功能2.函数指针优化3.面向对象设计(进阶)八、总结九、学习建议一、项目简介本项目实现了一个交互式命令行温度转换工具,支持以下核心功能:摄氏度↔华氏度双向转换新增开尔文温度(K)支持强化输入验证与异常处理模块化设
- 全面解析 typedef:从入门到进阶的详细指南
SAT小象
C语言c语言typedef
一、typedef的基本概念与作用1.1核心定义与语法定义:typedef是C/C++语言中用于为现有数据类型创建新名称(别名)的关键字。它并不创建新类型,只是提供更友好的类型名称。语法格式:typedef原类型名新类型名;原类型名:可以是基本类型(如int)、自定义类型(如结构体)或复杂类型(如函数指针)。新类型名:遵循标识符命名规则,通常使用大写或驼峰命名法增强可读性。示例:typedefin
- C++ std::thread多线程详解
牛马不分
并发编程c++11c++
c++多线程详解(一)、std::thread线程创建1、函数指针2、Lambda函数3、functor(FuncitonObject)4、非静态成员函数5、静态成员函数(二)、std::thread线程停止1、join函数2、detach函数(三)、std::mutex锁(一)、std::thread线程创建1、函数指针#include#includeusingnamespacestd;void
- C++学习笔记:一维数组与地址、内存、指针的关系
石匠敲击石头的101次.
C++学习笔记c++学习笔记
专栏其他文章C++学习笔记:函数指针和回调函数目录前言一、思考一个问题二、一维数组与地址、内存的关系三、数组的本质四、数组名不一定会被解释为地址总结前言临近秋招,正在准备海投智驾开发的相关岗位。智驾岗位普遍要求能够熟练使用C++,因此决定对C++的知识点进行一次系统的回顾和复习,满足岗位的面试和工作需求。新开一个专栏,将复习过程中遇到的重要知识点记录下来,做个备忘,方便回顾。这一部分的内容相对抽象
- 【C++基础】第四十课:函数指针
x-jeff
C++基础c++
【C++基础】系列博客为参考《C++Primer中文版(第5版)》(C++11标准)一书,自己所做的读书笔记。1.函数指针函数指针指向的是函数而非对象。和其他指针一样,函数指针指向某种特定类型。函数的类型由它的返回类型和形参类型共同决定,与函数名无关。例如://比较两个string对象的长度boollengthCompare(conststring&,conststring&);该函数的类型是bo
- C++学习笔记:函数指针和回调函数
石匠敲击石头的101次.
C++学习笔记c++笔记面试
目录前言一、函数指针1.什么是函数指针2.使用函数指针的3个步骤(1)声明函数指针(2)让函数指针指向函数的地址(函数指针的赋值)(3)通过函数指针调用函数二、回调函数1.什么是回调函数2.使用回调函数的意义三、代码示例总结前言临近秋招,正在准备海投智驾开发的相关岗位。智驾岗位普遍要求能够熟练使用C++,因此决定对C++的知识点进行一次系统的回顾和复习,满足岗位的面试和工作需求。新开一个专栏,将复
- C++11新特性包装器
无敌的暴暴龙666
C++c++java开发语言
目录1.function2。150.逆波兰表达式求值编辑1.functionC++11中提供了新的类模板function,它是一个包装器,可以包装其它可以存储调用其它的可调用对象,这里的可调用对象包括函数指针,仿函数,.lambda,bind表达式等,存储的可调用对象被称为function目标,若function不含目标,则城它为空,会抛出异常。function的链接被包含在头文件中,我们在cpp
- 成员函数指针与高效C++委托 (delegate)
puppet_master
C/C++C++指针成员函数指针委托回调
原文地址:http://www.cnblogs.com/cappuccino/p/3262056.html下载实例源代码-18.5Kb下载开发包库文件-18.6Kb概要很遗憾,C++标准中没能提供面向对象的函数指针.面向对象的函数指针也被称为闭包(closures)或委托(delegates),在类似的语言中已经体现出了它的价值.在Delphi(ObjectPascal)中,他们是VCL(Borl
- C++11 Type Aliases:从入门到精通
码事漫谈
c++11c++java开发语言
文章目录一、TypeAliases基础概念1.1什么是类型别名1.2基本语法1.3与typedef的对比1.3.1语法对比1.3.2模板支持二、TypeAliases的使用场景2.1简化复杂类型2.2函数指针别名2.3模板别名2.4类成员别名三、TypeAliases的优势3.1提高代码可读性3.2简化代码3.3增强可维护性3.4提高可重用性3.5可移植性四、TypeAliases的注意事项4.1
- 【C++】std::function
std::function学习笔记基本概念std::function是一个函数封装器,可以将任何可调用对象(如函数、函数指针、Lambda表达式、成员函数指针等)包装成一个可调用对象,从而实现对各种类型可调用对象的统一管理和操作。内部原理std::function的内部原理主要依赖于模板和多态。它通过模板参数推导和类型擦除的技术,将各种类型的可调用对象转换成一个通用的内部结构体对象,从而实现了对可
- C++ std::function详解与实战
我歌月徘徊、
嵌入式Linuxlinux服务器网络
参考定义一个std::function对象实例std::functioncallback;std::function对象实例包装函数指针int(*fun_ptr)(int);intfun1(inta){returna;}intmain(intargc,char*argv[]){std::coutTfun2(Ta){returna+2;}intmain(intargc,char*argv[]){st
- 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