- 利用C++增强框架的可测试性(Testability)
Mr' 郑
c++开发语言
在软件开发中,可测试性(Testability)是一个至关重要的属性,它决定了我们能否有效地验证代码的正确性、健壮性和性能。对于大型项目和复杂框架来说,可测试性尤为重要。C++作为一种功能强大的编程语言,提供了多种工具和策略来增强框架的可测试性。本文将探讨如何利用C++的特性来增强框架的可测试性,并通过代码示例来具体说明。一、可测试性的重要性可测试性是指软件或软件的一部分能够被测试人员或自动化测试
- 【C++】OOP面向对象思想
小wanga
C++c++
面向对象编程(Object-OrientedProgramming,OOP)是一种编程范式,它将现实世界中的实体抽象为对象,通过对象之间的交互来设计软件系统。OOP的核心思想包括以下几个方面:封装(Encapsulation):封装是将数据(属性)和操作这些数据的方法(行为)捆绑在一起的过程。它隐藏了对象的内部状态和复杂性,只暴露出必要的接口供外部访问。抽象(Abstraction):抽象是简化复
- 历年CSP-J初赛真题解析 | 2018年CSP-J初赛阅读程序(18-21)
热爱编程的通信人
c++
学习C++从娃娃抓起!记录下CSP-J备考学习过程中的题目,记录每一个瞬间。附上汇总贴:历年CSP-J初赛真题解析|汇总_热爱编程的通信人的博客-CSDN博客#includecharst[100];intmain(){scanf("%s",st);for(inti=0;st[i];++i){if('A'intmain(){intx;scanf("%d",&x);intres=0;for(inti=
- C++的类和对象(下)
近听水无声477
c++开发语言
Hello,亲爱的小伙伴们,我又回来了,今天我们将继续学习C++的类和对象,这时我们学习类和对象的第三节课,掌握了前面的知识,我们就算是对C++有了基础的认识,好,废话不多说,开始我们今天的正题!1.再谈构造函数之前我们在实现构造函数的时候,初始化成员变量主要使用函数体内赋值。构造函数的初始化还有一种方式就是使用初始化列表,初始化列表的使用方式是由一个冒号开始,接着是一个以逗号分割的数据成员列表。
- 递推(c++)
少年负剑去
基础算法c++算法数据结构
与递归相反递归是将一个问题分成若干个子问题而递推是先求出若干个子问题再去推出那个问题1、斐波那契额数列以下数列01123581321...被称为斐波纳契数列。这个数列从第33项开始,每一项都等于前两项之和。输入一个整数NN,请你输出这个序列的前NN项。输入格式一个整数NN。输出格式在一行中输出斐波那契数列的前NN项,数字之间用空格隔开。数据范围0usingnamespacestd;intq[47]
- 枫叶的成长计划
小婷说
2019/12.23【行】毕:图分类,和鹰说清楚昨天的事,遥感复习到五十页,和白杨聊了聊昨天发生的事,买苹果未毕:c++未写,电影还没看1.找到给桌子的那个人2.早上七点起床做好标语准备买苹果啦3.遥感图分类问问黎霞小姐妹4.遥感背书二十五页5.做五道数学题嘻嘻嘻(˙︶˙)6.隔一小时发布买苹果消息7.中午和静雯吃饭(✪✪)晚上喝葵葵一起聊聊【见】今天是冬至好热闹,一大早群里的消息就把我惊醒,满屏
- Linux从入门到开发实战(C/C++)Day09-poll和epoll
黒井深
c语言c++linux
poll:和select差不多#includeintpoll(structpollfd*fds,nfds_tnfds,inttimeout);与select共同点:还是轮询(轮询结构体数组)区别1:监视的不是描述符号集合,是结构体数组structpollfd{intfd;/*filedescriptor*/shortevents;/*requestedevents需要监视的事件*/shortrev
- C++新特性以及应用场景
平凡而伟大(心之所向)
编程语言c++开发语言
C++的新特性可以大致分为以下几类:模板(Templates):提高代码复用性,包括模板函数和模板类。异常处理(ExceptionHandling):提供了一套结构化的错误处理机制。异步编程(ConcurrencyandMultithreading):提供了线程和原子操作等工具。智能指针(SmartPointers):自动管理内存,如std::unique_ptr和std::shared_ptr。
- C++ 中心点和固定大小切小图(代码)
入梦游
随心记opencv人工智能计算机视觉
//中心点和固定大小切割图片cv::MatCutImage(cv::Matsrc,intCenterX,intCenterY,int&DstW,int&DstH,boolFill,intColor){cv::Matdst;if(DstWSrcW-DstW||roiySrcH-DstH){if(Fill){cv::MatnewSrcImg(SrcH+DstH,SrcW+DstW,src.type()
- C++ 判断语句详解
chengong9988
编程c++开发语言
C++判断语句详解在C++编程中,判断语句(ConditionalStatements)是一种用于根据条件执行不同代码块的控制结构。它们使得程序可以根据特定的条件来做出决策,从而实现更灵活和智能的行为。本文将介绍C++中常见的判断语句,包括if、if-else、if-elseif-else和switch,并给出详细的示例帮助您理解和应用这些语句。1.if语句if语句用于在条件为真时执行特定的代码块
- 7-2 两个有序链表序列的合并(c++)
OAOII
刷题链表c++
7-2两个有序链表序列的合并已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:135-1246810-1输出样例:1
- c++的类型转换static_cast、reinterpret_cast、const_cast、dynamic_cast
小丑西瓜666
c++开发语言基础语法类型转换
目录为什么C++需要四种类型转换的函数1static_cast2reinterpret_cast3const_cast4dynamic_cast在c++的库里面有四种类型static_cast、reinterpret_cast、const_cast、dynamic_cast为什么C++需要四种类型转换的函数应为看不惯C语言松弛感,为了让语言更规范,更严谨就自己造了这几个函数,当然c++肯定是兼容C
- C++ 非类型的模板参数
xupeng1644
C/C++
对于函数模板和类模板,模板参数并不局限于类型,普通值也可以作为模板参数。文章目录非类型的类模板参数非类型的函数模板参数非类型模板参数的限制总结非类型的类模板参数#includetemplateclassStack{private:intelems[MAXSIZE];//包含元素数组intnumElems;//元素的当前个数public:Stack();//构造函数voidpush(Tconst&)
- 【Py/Java/C++三种语言OD独家2024E卷真题】20天拿下华为OD笔试之【链表】2024E-寻找链表的中间节点【欧弟算法】全网注释最详细分类最全的华为OD真题题解
闭着眼睛学算法
最新华为OD真题#链表#双指针javac++华为odpython算法leetcode
可上欧弟OJ系统练习华子OD、大厂真题绿色聊天软件戳od1441了解算法冲刺训练(备注【CSDN】否则不通过)文章目录相关推荐阅读题目描述与示例题目描述输入描述输出描述示例一输入输出说明示例二输入输出说明解题思路邻接表储存链表链表节点的前进解法一:用列表储存所有链表节点数据解法二:快慢双指针代码解法一(数组解法)pythonjavacpp时空复杂度解法二(双指针解法)pythonjavacpp时空
- C++11知识点汇总
GeniusAng丶
C/C++编程c++多线程生产者消费者线程间互斥线程间同步互斥锁CAS
课程总目录文章目录一、C++11常用关键知识点梳理1.1关键字和语法1.2绑定器和函数对象1.3智能指针1.4容器二、C++语言级别支持的多线程编程2.1通过thread类编写C++多线程程序2.2线程间互斥2.3线程间同步通信-生产者消费者模型2.4再谈lock_guard和unique_lock2.5基于CAS操作的atomic原子类型一、C++11常用关键知识点梳理1.1关键字和语法auto
- C++20 新特征:概念(Concepts)全面解析
jianglq
C++开发C++学习c++20开发语言
基本概念C++20引入了一个重要的新特性——概念(Concepts)。概念允许你在编写模板时指定模板参数(类型或非类型)应该满足的条件。这种约束使得编译器能够在编译时检查类型是否符合预期,从而提前发现错误,并给出更清晰的错误信息。概念是编译时多态的一种形式,它增强了模板编程的能力,使得代码更加健壮、可读性和可维护性更高。历史演变概念的想法早在C++的设计阶段就已经存在,但由于早期的技术限制和技术挑
- 【C++新特性】C++17结构化绑定
guangcheng0312q
c++编程语言指针hashmapc++11
1.1更详细的阐述结构化绑定1.1.1绑定到匿名对象1.1.2使用修饰符1.1.3修饰符并非修饰结构化绑定1.1.4移动语义1.2结构化绑定可以在哪使用1.2.1结构体和类1.2.2原生数组1.2.3std::pair,std::tuple和std::array1.3为结构化绑定提供类似tuple的API1.3.1只读结构化绑定1.3.2结构化绑定写操作1.结构化绑定结构化绑定:通过对象的元素或成
- VS2022使用C++20模块功能
水龙月
C++c++visualstudio
VS2022刚刚升级到了17.2.0的版本,宣称是已完全支持C++20。按默认的安装方式,一般是不会安装标准库的模块文件的,需要打开VisualStudioInstaller,安装单独的“C++模块”组件(在单个组件搜索时一定得加那个空格)。模块安装完成后,按微软的官方文档,将项目属性->C/C++->语言页内:C++语言标准设置成:/std:c++20,启用实验性的C++标准库模块:是(/exp
- 为什么要学习使用C++常用软件分析工具?学会这些工具都有哪些好处?
dvlinker
C/C++软件开发从入门到实战C/C++实战专栏c++常用分析工具WIndbgIDADependsProcessExplorerProcessMonitor
目录1、为什么要学习使用C++软件常用分析工具?2、C++软件常用分析工具有哪些?都能处理哪些具体的问题?2.1、窗口信息查看工具SPY++2.2、模块依赖关系查看工具DependencyWalker2.3、GDI对象查看器GDIView2.4、进程信息查看工具ProcessExplorer2.5、进程活动监测工具ProcessMonitor2.6、函数调用监测工具APIMonitor2.7、调试
- C++中的try与catch
lpl还在学习的路上
开发语言
try和catch的用法_trycatch-CSDN博客try和catch是用于处理异常的语句,它们构成了一种异常处理机制。在一个try语句中,程序执行一段代码,如果发生了异常,则会被捕获,并转到相应的catch语句中进行处理。------什么时候会出现异常?C++异常详细介绍-CSDN博客除0操作发生越界内存错误--------------异常不会终止程序,并且会将错误信息详细介绍。error:
- C++vector类
Ssorrymaker
C++c++
系列文章目录C++入门C++类和对象(上)C++类和对象(中)C++类和对象(下)C/C++内存管理C++string类文章目录系列文章目录一、vector是什么?二、常用接口说明1.常见的构造函数2.vectoriterator的使用3.关于vector的容量4.vector的增删改查5.迭代器失效一、vector是什么?vector是表示可变大小数组的序列容器,类似于数组,vector也采用连
- C++中的管道和信号量详细教程及示例
shuai_258
c++c++全套攻略c++多线程c++linux
在现代多进程、多线程编程中,管道和信号量是两种常用的进程间通信(IPC)和同步机制。本文将详细介绍这两者的概念、工作原理,并通过C++示例演示如何实现和使用它们。一、管道(Pipe)1.1什么是管道?管道是一种进程间通信(IPC)机制,用于在两个进程之间传递数据。管道是半双工通信方式,意味着数据只能沿一个方向流动:一端写入,另一端读取。管道使用两个文件描述符(fd):读端:用于从管道中读取数据。写
- C++线程、多线程教程详解(全网最全、示例最多、最详细)(第一篇)
shuai_258
c++c++全套攻略c++多线程c++
目录A、线程/多线程基础一、C++11创建线程的几种方式1.1使用函数指针1.2使用lambda表达式1.3使用成员函数1.4使用可调用对象(Functor)二、定义一个线程类三、join()与detach()的详细用法及区别3.1join()的用法3.2detach()的用法3.3join()与detach()的区别总结四、std::this_thread4.1、主要功能std::this_th
- 【C++】手把手教你写出自己的vector类
Ornamrr
C++c++vector
在上一篇博客中,我们学习了vector的基本使用,以及迭代器的失效问题:【C++】深入理解vector类(一)今天我们来模拟实现以下vector类。目录成员变量接口实现构造函数迭代器拷贝构造赋值reserveresizepush_backpop_back实现[]访问成员变量我们先从原码中找出其成员变量:可以看到,原码中有三个成员变量:startfinishend_of_storage数据类型是it
- springboot宠物咖啡馆平台的设计与实现
然然学长
springboot宠物java后端intellij-idea开发语言
运行环境环境说明:开发语言:java框架:springboot,vueJDK版本:JDK1.8数据库:mysql5.7+(推荐5.7,8.0也可以)数据库工具:Navicat11+开发软件:idea/eclipse(推荐idea)Maven包:Maven3.3.9+系统详细实现管理员模块的实现用户信息管理基于SpringBoot的宠物咖啡馆平台的设计与实现的系统管理员可以管理用户,可以对用户信息添
- 华南农业大学 OJ数据结构 迷宫问题2(C、C++)
打架戴手表、
18720迷宫问题(最短路径)时间限制:1000MS代码长度限制:10KB提交次数:0通过次数:0题型:编程题语言:不限定Description迷宫是一个n*m的矩阵,玩家需要迷宫入口(坐标1,1)出发,寻找路径走到出口(n,m)。请判断玩家能否从迷宫中走出,如果能走出迷宫输出,输出最短的路径长度,否则输出-1。输入格式第一行两个整数n和m,代表n行m列。(1typedefstruct{intro
- 深入解析C++单例模式:从基础到线程安全的高效实现
shuai_258
c++全套攻略c++c++多线程开发语言c++qt
引言在C++开发中,单例模式(SingletonPattern)是一种常见且重要的设计模式。它确保类的实例在整个程序生命周期中唯一,并提供一个全局访问点。这在日志管理、配置管理等场景中尤为常见。本篇博客将带你深入了解单例模式的实现原理,并介绍如何在多线程环境下实现线程安全的单例模式。什么是单例模式?单例模式是一种设计模式,其核心思想是确保某个类只能有一个实例,并提供一个全局的访问点。其应用场景包括
- 静态库的制作
姜太公钓鲸233
数据结构
静态库是一组对象文件的集合,它们在编译时被链接到可执行文件中。这意味着,静态库中的代码会被复制到每个使用它的程序中,因此静态库不需要在程序运行时被单独加载。制作静态库可以帮助你将常用的代码模块化、重用,简化开发过程。以下是创建静态库的详细步骤:步骤1:编写源代码首先,创建几个C/C++源文件,它们将组成静态库。例如,创建两个c文件math_functions.c和string_functions.
- 如何用C语言改变宏定义的大小,C语言中宏定义使用的小细节
李叫瘦
如何用C语言改变宏定义的大小
C语言中宏定义使用的小细节#pragma#pragma预处理指令详解在所有的预处理指令中,#Pragma指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为:#Pragm
- Linux从入门到开发实战(C/C++)Day12-ICMP协议
黒井深
linuxc语言c++
ICMP协议:InternetControlMessageProtocol网络控制报文协议作用:用来检测网络是否畅通ping命令实现流程:1.创建socketTCP:SOCK_STREAMUDP:SOCK_DGRAMICMP:SOCK_RAWSOCK_PACKETicmp协议只有root用户可以创建2.设置套字节setsockopt3.设置接收ip4.打包准备好要发送的数据包5.发包6.收包7.解
- 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