defi_sort(arr):#从第二个元素开始遍历整个数组foriinrange(1,len(arr)):key=arr[i]#当前要插入的元素j=i-1#指向当前元素的前一个元素#将大于key的元素都向右移动一位whilej>=0andkey
提高你的Java代码质量吧:受检异常尽可能转化为非受检异常
iteye_7514
java
一、分析“把所有受检查异常(CheckedException)都转化为非受检查异常(UnCheckedException)”这一想法是不现实的。受检查异常是正常逻辑的一种补偿处理手段,特别是对可靠性要求比较高的系统来说,在某些条件下必须抛出首检异常以便由程序进行补偿处理,也就说受检异常又合理的存在理由,那为什么需要把受检异常转化为非受检异常?受检异常确实有不足的地方:1.受检异常使接口声明脆弱例如
python subplot函数应用 - 创建多个子图
Aa123456789_55
图形展示代码学习python开发语言
subplot语法:plt.subplot是Matplotlib库中的一个非常有用的函数,用于在一个图形窗口中创建多个子图plt.subplot函数用于在当前图形窗口中创建并激活一个子图。其基本语法如下:plt.subplot(nrows,ncols,index)参数详解:nrows:子图的行数。这是指整个图形窗口将被分成多少行子图。ncols:子图的列数。这是指整个图形窗口将被分成多少列表子图。
数据结构与算法:洪水填充
WBluuue
c++算法leetcode数据结构深度优先剪枝图论
前言洪水填充是一种用在图上的搜索算法,其过程就像洪水或病毒一样逐渐蔓延整个区域,继而达到遍历和统计相同属性的连通区域的功能,中间也可以通过每走过一个节点就设置路径信息的方法来达到剪枝的效果。一、岛屿数量——洪水填充方法classSolution{public:intnumIslands(vector>&grid){returnsolve2(grid);}//洪水填充方法intsolve2(vect
【多模态处理篇五】【DeepSeek文档解析:PDF/Word智能处理引擎】
再见孙悟空_
「2025DeepSeek技术全景实战」web安全notion人工智能DeepSeekDeepSeek文档DeepSeek解析文档DeepSeekPDF
你知道吗?全球每天产生的PDF文档超过10亿份,但90%的上班族还在用复制粘贴的笨办法处理文档!DeepSeek文档解析引擎就像给你的电脑装上了"文档翻译官",能把PDF/Word里的文字、表格、公式甚至排版样式都变成AI能理解的"语言"。举个真实场景:法务小姐姐用这个工具处理200页的英文合同时,5分钟就能提取出关键条款、风险点、履约时间线,效率直接翻10倍!一、核心技术解析:文档处理的"庖丁解
市场波动中的风险管理与策略优化
Q3990385023
区块链
市场波动中的风险管理与策略优化在市场交易中,价格的波动性为投资者提供了交易机会,但同时也带来了风险。如何在市场不确定性中进行有效的风险管理,并优化交易策略,是每位交易者都需要思考的问题。本文将探讨市场波动的影响因素、如何通过合理的资金管理降低风险,以及如何利用数据分析提升交易稳定性。一、市场波动的核心影响因素1.供需关系变化市场价格的波动主要受到供需关系的影响。无论是受宏观经济政策影响,还是市场预
从剪枝到知识蒸馏:深度学习模型压缩与加速的多重策略
一键难忘
剪枝深度学习算法知识蒸馏
本文收录于专栏:精通AI实战千例专栏合集https://blog.csdn.net/weixin_52908342/category_11863492.html从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。每一个案例都附带关键代码,详细讲解供大家学习,希望可以帮到大家。正在不断更新中文章目录从剪枝到知识蒸馏:深度学习模型压缩与加速的多重策略1.
useSelector的第二个参数shallowEqual
BBbila
前端javascriptreact
先学习useSelector的含义与用法useSelector是React-Redux库提供的一个钩子(Hook),它允许函数组件从Reduxstore中提取数据。它是connect函数的替代方案,用于在React组件中访问Redux的状态。useSelector的作用:它接收一个选择器函数作为参数。选择器函数会接收到整个Redux的状态(state),并返回组件需要的部分状态。当Reduxsto
CSS竟然开始支持函数了!编程语言的未来能否在此掀起波澜?
前端javascript
ReactHook深入浅出CSS技巧与案例详解vue2与vue3技巧合集VueUse源码解读当我第一次看到CSS即将支持原生函数时?没错,朋友,这是真的!如今,CSS也开始拥抱函数特性了——那些曾坚称CSS不配称作“编程语言”的人,现在或许得重新考虑一下了。好了,兴奋之余,我们还是先稳一下,深入了解它的具体内容吧!基础知识:函数的定义和调用试想一下,你正在给网页中的多个元素添加相同的虚线边框。通常
优化深度学习模型:PyTorch中的模型剪枝技术详解
代码之光_1980
深度学习pytorch剪枝
标题:优化深度学习模型:PyTorch中的模型剪枝技术详解在深度学习领域,模型剪枝是一种提高模型效率和性能的技术。通过剪枝,我们可以去除模型中的冗余权重,从而减少模型的复杂度和提高运算速度,同时保持或甚至提升模型的准确率。本文将详细介绍如何在PyTorch框架中实现模型剪枝,并提供相应的代码示例。1.模型剪枝的基本概念模型剪枝主要分为两种类型:结构化剪枝和非结构化剪枝。结构化剪枝通常指的是剪除整个
模型保存与加载:PyTorch中的实践指南
冰蓝蓝
自然语言处理pytorch人工智能python
在深度学习项目中,模型的保存和加载是一个至关重要的步骤。它不仅有助于在训练过程中保存进度,还可以在训练完成后部署模型。PyTorch提供了灵活的方式来保存和加载模型,本文将详细介绍这些方法。模型保存在PyTorch中,有两种主要的模型保存方法:保存整个模型和仅保存模型参数。保存整个模型保存整个模型意味着保存模型的结构和参数。这种方法简单直接,但文件体积较大,且依赖于模型的具体实现。importto
【Go基础】垃圾回收演进|三色标记法
小超人冲鸭
算法golang后端
GO1.3标记清除,整体需要STW:1.暂停,找到可达和不可达对象,2.标记可达对象,3.清除未标记对象,4.结束暂停GO1.5三色标记法,堆启动写屏障,栈不启动,全部扫描一次后,需要重新扫描栈(STW),效率低如果没有STW,对象丢失的2个条件:黑色对象指向白色对象(白色挂在黑色下面)灰色对象与其可达白色对象之间遭到破坏(灰色也丢失了该白色)屏障机制,保障对象不丢失的2种方式:强三色不变式:不允
快速排序法的使用 ( 超详细图解 )
S01d13r
链表算法快速排序面试数据结构
快速排序法的使用快速排序法作为一种广受好评的排序方法,不仅仅因为它的排序效率很高,更因为它体现了分治的思想。因此许多广为人知的软件公司(BAT)的笔试面试都喜欢考,甚至在一些大大小小的考试如软考、考研中也能见到它的身影。因此熟练默写快速排序法的代码并掌握其核心思想对我们来说尤为重要。快速排序法的背景:快速排序由C.A.R.Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成
锁的策略)
康kang
synchronized锁的分类
一、锁的分类第一组:乐观锁和悲观锁这是两种不同的锁的实现方式。乐观锁:在加锁之前,预估当前出现锁冲突的概率不大,因此在进行加锁的时候就不会做太多的工作。悲观锁:在加锁之前,预估到当前锁冲突出现的概率比较大,因此加锁的时候就会做更多的工作,做的事情更多,加锁的速度可能会更慢,但整个过程中不容易出现其他问题。第二组:轻量级锁和重量级锁轻量级锁:加锁的开销小,加锁的速度更快=>一般为乐观锁重量级锁:加锁
每日一题之地宫取宝
Ace'
算法数据结构
题目描述X国王有一个地宫宝库。是n×m个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。请你帮小明算一算,在给定的局面下,他有多少
缓存:节省使用大模型的成本
雪碧没气阿
spring人工智能机器人自然语言处理AI大模型缓存
稍有经验的程序员对缓存都不陌生,在任何一个正式的工程项目上都少不了缓存的身影。硬件里面有缓存,软件里面也有缓存,缓存已经成了程序员的必修课。我们为什么要使用缓存呢?主要就是为了减少访问低速服务的次数,提高访问速度。大模型显然就是一个低速服务,甚至比普通的服务还要慢。为了改善大模型的使用体验,人们已经做出了一些努力,比如采用流式响应,提升第一个字出现在用户面前的速度。缓存,显然是另外一个可以解决大模
Github开源库Xpopup代码阅读
月亮下的小草屋
github开源库代码阅读android
前言很久没写点东西了,在家闲着考了个驾照,花了一个半月,中国的驾考真的是没眼看,刚拿到驾照当天就被疫情封闭在家,直接封了一个多月,人都麻了,再来一次估计直接过年了,最近刚开始干点活。Xpopup是我非常喜欢的一个Github开源库,一直在用,我在Xpopup2.x版本的时候看过一遍它的代码,现在已经更新到3.x版本了,这两天也没啥事,又重新看了一遍,Xpopup的代码还是很容易阅读的,有兴趣的话可
Pytorch Dataloader入门
gy-7
pytorch深度学习机器学习
PytorchDataloadercode:torch/utils/data/dataloader.py#L71PytorchDatasettutorial:tutorials/beginner/basics/data_tutorial.html理论:在训练模型时,我们通常希望:以“mini-batch”方式传递样本,能够加速训练。每个epoch都shuffle数据,能够减少模型过拟合。使用Pyt
versal架构简介:Sec I Introduction
妮蔻mega
versal架构简介fpga
1.SoCHardwareOverviewAMD的SoC(系统级芯片)具有广泛的功能,适用于需要可扩展处理能力、集成功能单元和可扩展可编程逻辑的高端应用,并且可以在正常系统操作期间动态配置和重新配置。SoC架构包括一组丰富的集成硬件组件和许多用户可编程设计选项,适用于许多系统级解决方案。每个设备都包含一个处理系统、可编程逻辑、平台管理控制器以及各种集成的硬件子系统和外设。处理系统和可编程逻辑可以选
【.NET 6】RabbitMQ延迟消息指南
人生短几个秋
.netcorerabbitmq.net
背景最近遇到一个比较特殊需求,需要修改一个的RabbitMQ消费者,以实现在消费某种特定的类型消息时,延迟1小时再处理,几个需要注意的点:延迟是以小时为单位不是所有消息都延迟消费,只延迟特定类型的消息只在第一次消费时延迟1小时,容错机制产生的重新消费(也即消息消费失败,多次进入延迟队列重试),则不再延迟1小时消费者消费过程中可能会重启考虑到这几点,我们需要一个标识以及持久化,不能简单使用Threa
深入理解C++编程:从内存管理到多态与算法实现
嵌入式Jerry
C++c++算法开发语言
C++是一门功能强大的编程语言,广泛应用于系统编程、游戏开发和高性能计算等领域。本文将通过一系列经典问题,深入探讨C++的核心知识点,包括内存管理、多态(结合函数重载与覆盖)、多线程、TCP/IP模型、软链接与硬链接的区别,以及常见算法实现。每个知识点都配有详细的代码示例和解释,帮助你更好地理解和掌握。1.内存管理:内存泄露与检测什么是内存泄露?内存泄露是指程序在动态分配内存后,未能正确释放已不再
【网络安全 | 漏洞挖掘】价值14981$的Google点击劫持漏洞
秋说
web安全漏洞挖掘
未经许可,不得转载。文章目录点击劫持前言漏洞1攻击场景漏洞2攻击场景漏洞3攻击场景漏洞4攻击场景漏洞5攻击场景漏洞6攻击场景点击劫持点击劫持是一种恶意的用户界面攻击技术,也被称为“UI覆盖攻击”或“透明劫持”。攻击者通过创建一个看似正常的网页,并在其中嵌入一个隐藏的、透明的iframe框架,该框架指向目标网站的某个功能页面,如支付页面、订阅页面等。同时,攻击者会在iframe上方放置一些虚假的按钮
C/C++每日一练:实现选择排序
風清掦
C/C++~每日一练c语言c++算法
选择排序选择排序是一种简单直观的排序算法,时间复杂度为,其中n是数组长度,不适合大数据集的排序,适合于元素较少且对性能要求不高的场景。选择排序的基本思想是:每次从未排序部分选择最小的元素,将其放到已排序部分的末尾。这样经过多轮操作后,整个数组会被逐步排好序。具体步骤如下:初始化:将第一个元素作为已排序区,剩余部分作为未排序区。遍历未排序区:从未排序区间找出最小的元素,记下其位置。交换位置:将找到的
C/C++每日一练:实现冒泡排序
風清掦
C/C++~每日一练算法c语言c++排序算法
题目要求编写一个程序,实现冒泡排序算法。给定一个由n个整数组成的数组,要求通过冒泡排序对数组从小到大进行排序。输入:一个整数数组,长度为n,数组中的元素可能是正数或负数。输出:按照升序排序后的数组。做题思路冒泡排序是一种简单直观的排序算法。其基本思想是通过多次遍历数组,逐步将未排序部分中的最大或最小元素“冒泡”到数组的一端,直到整个数组有序。冒泡排序的步骤如下:从数组的第一个元素开始,依次比较相邻
智能体平台架构深度剖析:从底层到应用的全链路解析
人工智能
在当今人工智能飞速发展的时代,智能体平台作为承载和驱动智能应用的关键基础设施,其架构设计至关重要。一个优秀的智能体平台架构,能够高效整合各类资源,实现智能体的灵活构建与稳定运行,为多样化的应用场景提供强大支持。稳固根基:基础资源层与并行平台层基础资源层是整个智能体平台的基石。其中,GPU和服务器构成了强大的计算硬件支撑,确保平台能够应对复杂的计算任务。而数据与OSS(对象存储服务)则如同智能体的“
如何进行OceanBase 运维工具的部署和表性能优化!
oceanbase
随着OceanBase数据库应用的日益深入,数据量不断攀升,单个表中存储数百万乃至数千万条数据的情况变得愈发普遍。因此,部署专门的运维工具、实施针对性的表性能优化策略,以及加强指标监测工作,都变得更为重要。以下为基于我们的使用场景,所采取的一些部署和优化措施分享。一、OCP部署升级1.OCP升级(1)4.2.1BP1升级到4.2.2,本来以为毫无波澜但是下载完毕一键包并完成前期准备工作启动后发现无
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