朝花夕拾 之 用Java转化汉字为拼音

Android音频混音器AudioMixer实战:从多路输入到设备播放的完整流程解析 本文深入解析了Android平台上音频混音器AudioMixer的完整工作流程,涵盖从多路音频输入、轨道创建与配置、AudioBufferProvider数据源接入,到核心混音处理与最终设备播放的全过程。文章重点探讨了如何高效管理音频数据流、配置音量与重采样参数,并提供了缓冲区管理与性能优化的实战技巧,帮助开发者构建稳定、低延迟的音频应用。 阅读详情
  根据字符串(比如:姓名)进行数据检索,相信很多人都做过。有没有一个好的办法可以进行快速的数据过虑呢?比如:按汉字拼音首字母,检索“夜未眠”我们只要输入“y”就可以了,是不是简单实用很多呢?!呵呵~
  但是如何才能将字符转换为汉字拼音单个字母呢?下面的程序或许就可以解决这一问题……

package com.javer.blog.common;

import java.io.UnsupportedEncodingException;

/**
* 取得给定汉字串的首字母串,即声母串
* <p>Title: ChineseCharToEn</p>
* <p>@author javer QQ:84831612</p>
* @version 1.0
* @date 2004-02-19
* 注:只支持GB2312字符集中的汉字
*/
public final class ChineseCharToEn
{
private final static int[] li_SecPosValue =
{
1601, 1637, 1833, 2078, 2274, 2302, 2433, 2594, 2787, 3106, 3212, 3472,
3635, 3722, 3730, 3858, 4027, 4086, 4390, 4558, 4684, 4925, 5249, 5590
};
private final static String[] lc_FirstLetter =
{
"a", "b", "c", "d", "e", "f", "g", "h", "j", "k", "l", "m", "n", "o", "p",
"q", "r", "s", "t", "w", "x", "y", "z"
};

/**
* 取得给定汉字串的首字母串,即声母串
* @param str 给定汉字串
* @return 声母串
*/
public String getAllFirstLetter(String str)
{
if (str == null || str.trim().length() == 0)
{
return "";
}

String _str = "";
for (int i = 0; i < str.length(); i++)
{
_str = _str + this.getFirstLetter(str.substring(i, i + 1));
}

return _str;
}

/**
* 取得给定汉字的首字母,即声母
* @param chinese 给定的汉字
* @return 给定汉字的声母
*/
public String getFirstLetter(String chinese)
{
if (chinese == null || chinese.trim().length() == 0)
{
return "";
}
chinese = this.conversionStr(chinese, "GB2312", "ISO8859-1");

if (chinese.length() > 1) //判断是不是汉字
{
int li_SectorCode = (int) chinese.charAt(0); //汉字区码
int li_PositionCode = (int) chinese.charAt(1); //汉字位码
li_SectorCode = li_SectorCode - 160;
li_PositionCode = li_PositionCode - 160;
int li_SecPosCode = li_SectorCode * 100 + li_PositionCode; //汉字区位码
if (li_SecPosCode > 1600 && li_SecPosCode < 5590)
{
for (int i = 0; i < 23; i++)
{
if (li_SecPosCode >= li_SecPosValue[i] &&
li_SecPosCode < li_SecPosValue[i + 1])
{
chinese = lc_FirstLetter[i];
break;
}
}
}
else //非汉字字符,如图形符号或ASCII码
{
chinese = this.conversionStr(chinese, "ISO8859-1", "GB2312");
chinese = chinese.substring(0,1);
}
}

return chinese;
}

/**
* 字符串编码转换
* @param str 要转换编码的字符串
* @param charsetName 原来的编码
* @param toCharsetName 转换后的编码
* @return 经过编码转换后的字符串
*/
private String conversionStr(String str, String charsetName,String toCharsetName)
{
try
{
str = new String(str.getBytes(charsetName), toCharsetName);
}
catch (UnsupportedEncodingException ex)
{
System.out.println("字符串编码转换异常:" + ex.getMessage());
}

return str;
}
}
 

  测试代码:

package com.javer.test;

import com.javer.blog.common.ChineseCharToEn;

/**
* 测试程序
* <p>Title: JaverTest</p>
* @author javer QQ:84831612
*/
public class JaverTest
{
public static void main(String[] args)
{
ChineseCharToEn cte = new ChineseCharToEn();
System.out.println("/"夜未眠/"的首个拼音字母是:" + cte.getFirstLetter("夜未眠"));
System.out.println("/"Javer夜未眠/"的首个拼音字母是:" + cte.getFirstLetter("Javer夜未眠"));
System.out.println("/"Javer夜未眠/"的全部字母的拼音字母是:" + cte.getAllFirstLetter("Javer夜未眠"));
}
} 

  运行结果:

"夜未眠"的首个拼音字母是:y
"Javer夜未眠"的首个拼音字母是:J
"Javer夜未眠"的全部字母的拼音字母是:Javerywm

第三节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - 对接后端登录接口(上) 这里是Vben Admin V5版本实战体验,上一节我们前端已正常运行,但是没有实现登录。本节的重点是对接后端接口。上一节地址:第一节:Vben Admin 最新 v5.0初体验第二节:Vben Admin 登录逻辑梳理和对接后端准备后端我们采用Python的Flask项目,Flask-SQLAlchemy管理数据库模型,Flask-Migrate进行模型迁移。参考版本如下:Flask3.0.23.1.1到这里,登录接口完成,下一步要实现获取用户信息和权限的接口功能。 阅读详情

相关推荐

zynq+ad9361 petalinux使用官方IIO示波器调试记录

1ad9361 iio示波器

Yetob的博客 7992

Java 输入汉字姓名 输出 姓名拼音 首字母缩写组合

这几天想做一个这样子的功能:在查询客户信息的时候,可以直接根据客户姓名的拼音缩写进行,例如,输入 HZ 就可以查询到姓名为 【黄镇】的客户。  在网上查询到的比较好的做法是在客户信息字段中加上一个拼音缩写字段,在存储的时候,可以把客户姓名的汉字拼音缩写字段存储到一个单独的数据库字段中。 在查询的时候,直接根据缩写匹配就可以了。 下面是根据汉字姓名输出 首字母 的程序:

huangzhen0914的专栏 1万+

Android BluetoothSocket

BluetoothSocket是Android中用于在蓝牙设备之间进行数据传输的一种Socket。它提供了一种类似于TCP/IP协议的数据传输方式,可以在两个设备之间建立一个虚拟的通信管道,使得两个设备之间可以进行数据的传输和接收。BluetoothSocket可以用于客户端和服务端之间的通信,通过BluetoothSocket可以实现数据的双向传输。

liuning1985622的博客 1477

自动化脚本之-中文转拼音字母

背景 美术的资源文件往往都是中文名字 我们做自动化工具 很多时候 生成的目标 不支持中文 转成拼音。在程序中,也方便我们理解文件对应的代码 解决方案 git地址:https://github.com/hotoo/pinyin 使用方式: node环境下 npm install pinyin var pinyin = require("pinyin"); console.log(pinyin("中心")); // [ [ 'zhōng' ], [ 'xīn' ] ] console.log(p

丶党玲儿的博客 854

USB3.0 Type-B连接器SSTX/SSRX信号定义常见错误与硬件设计避坑指南

本文详细解析了USB3.0 Type-B连接器中SSTX/SSRX信号的定义标准与常见设计错误。针对连接器厂商图纸可能出现的信号标识错误,提供了实用的排查方法和硬件设计避坑指南,帮助工程师避免因引脚定义颠倒导致的通信降级或故障,确保USB3.0高速传输的稳定性。

gg901的博客 1267

用MATLAB从零实现六足机器人步态仿真:交替三角与波动步态保姆级教程

本文详细介绍了如何使用MATLAB从零实现六足机器人的两种经典步态仿真:交替三角支撑步态和波动步态。通过参数定义、相位设置、运动轨迹生成和三维可视化等步骤,帮助读者掌握六足机器人步态规划的核心技术。教程包含完整代码和详细解析,适合机器人爱好者和相关专业学生学习实践。

weixin_26765363的博客 228

java把汉字转换成拼音的2种方式

java程序将汉字转成拼音的两种方法 1.使用pinyin4j将汉字转成拼音,附件为pinyin4j的jar包  Java代码   import net.sourceforge.pinyin4j.PinyinHelper;   import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;   import...

IT人生 1877

跨境电商ERP开发之Shopee开发者账号申请

引言:由于电子信息技术和经济全球化的进一步发展,电子商务在国际贸易中的影响力和关键作用日渐突显,已变成中国出口贸易的市场趋势。跨境电商未来的发展前景必定是有助于减少经济成本、推动全球贸易便利化,有助于提高国内群众福祉,有助于打造良好的营商环境,从而推动经济长期健康发展。 gitee仓库地址: https://gitee.com/naturalwish/SSERP/tree/master 以下授权教学同ShopeeOpen Platform - Developer Guide 申请流程 ..

naturalwish的专栏 3640

中英文转换

[code="java"] public class ConvertHelper { // 国标码和区位码转换常量 static final int GB_SP_DIFF = 160; //存放国标一级汉字不同读音的起始区位码 static final int[] secPosvalueList = { 1601, 1637, 1...

有问题吗? 248

实战分享:如何用本地替换和插桩调试搞定Kasada最新版x-kpsdk-cd环境检测

本文深入解析Kasada最新版x-kpsdk-cd环境检测机制,提供动态请求拦截、本地替换和函数插桩等实战调试策略。通过Proxy保护破解、关键函数断点调试和环境检测对抗方案,帮助逆向工程师有效应对从280位扩展到294位的加密数组挑战,实现高效补环境调试。

weixin_29251567的博客 569

PX4从放弃到精通(二十一):使用git管理PX4代码

文章目录前言一、设置git密钥二、将代码上传至gitee 前言 Ubuntu 18.04 PX4 1.11.3 由于github有时网速较慢,本文使用gitee。 一、设置git密钥 ssh-keygen -t rsa -C “your_email@youremail.com” your_email@youremail.com为自己注册的gitee账户邮箱.设置路径与密码时,也直接回车不设置,如下图,密钥生成的位置在红框处. 在密钥目录下按Ctrl+H显示隐藏文件,进入.ssh文件夹用gedit打开id

超维空间科技的博客 3478

在web console中执行groovy script手动更新数据的拼音域

有些domain classes中包含汉语拼音信息,以便让数据可以汉语拼音排序,比如这个例子   class BingQu { def static interceptors = [ beforeSave: {p, tpl, params-&gt; p.namePinyin = PinyinUtils.toPinyinString(p...

sam.ds.chen 288

人形机器人大语言模型 pi*0.6(π*0.6):最新从经验中学习的VLA

摘要:本文介绍了一种名为Recap的机器人学习方法,通过示范训练、纠错指导和强化学习三个步骤提升机器人执行复杂任务的能力。研究显示,仅依靠模仿学习的机器人难以解决错误累积问题,而Recap方法通过价值函数可视化和优势条件策略训练,使π*0.6模型在咖啡制作、纸箱组装和衣物折叠等任务中的成功率提升超过90%,吞吐量翻倍。该方法突破了传统依赖人工演示的局限,通过自主经验学习实现机器人性能的持续优化,为未来机器人基础模型的发展提供了新方向。

2506_90492529的博客 1318

启动WebLogic后,不能进入控制台和应用的问题

昨天现场的实施人员反馈:启动WebLogic后,不能进入控制台,IE显示空白页面,连登录界面都没有!亲自远程登录服务器访问,确实如此,查看weblogic的相关文件都在啊,郁闷,不报错的问题最难解决。由于系统正在运行中,不能重启服务。百思不得其解后觉得只有上网找相关资料了。后来发现下面的文章:启动WebLogic后,不能进入控制台和应用的问题这是一个异常怪异的问题,也是我碰到的最奇怪的最难解决的问

4564

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

用DOM/JDOM解析XML文件

   夜已经深了,可是我仍未眠。明天就要回家过年了,对于一个飘荡在外的游子来说,回家过年是一件多么激动人心的事啊!这才是我心中真正的年啊!   真希望新的一年快点到来,因为有太多的不愉快需要忘记、因为有太多的梦想需要去实现……    前一段时间要解析一个XML文件,就是对XML进行增、删、改的操作。以前做J2EE时一直都是用第三方的类库来辅助解决的,但这次却要求自己用DOM来解析,只能用J

4071

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

用DOM/JDOM解析XML文件(3)

  几乎就要放弃了,但还是忘不了,终于还是又登录了。  每当夜深人静的时候,每当独孤无助的时候,每当满腹心事的时候,除了我的blog,还有谁,愿意听我的倾诉呢?  还是那句话:夜未眠,我的blog陪我未眠,我未眠,我陪我的blog未眠……  以前记录过两个自己写的读写XML文件的帖子,感觉很不完善,只适合简单的应用,无法完成更复杂高级的功能。最近正好用到一个更优雅的,再记录下来,以备以后查阅。

3977

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

彻底治疗乱码顽症——J2EE.Web应用中文问题解决方案

对于一个Java初学者来说,经常碰到的一个问题恐怕就是中文问题了。其实很正常,我们有几千年的悠久历史嘛,博大精深,岂能是小小的计算机语言所能包容的?呵呵,开个玩笑。但是不可否认的一个事实就是,就算是一个比较有经验的开发人员,也经常面对着屏幕上的乱码而大伤脑筋。  想究其原因、彻底解决这一问题吗?follow me…… 乱码原因  java内核是unicode的。但Java总是根据操作系统的默认编码

3951

jboss的目录结构

 JBoss的目录:  bin                   启动和关闭JBoss的脚本  client                客户端与JBoss通信所需的的Java库(JARs)  docs                  配置的样本文件(数据库配置等)  doc/dtd               在JBoss中使用的各种XML文件的DTD。  lib             

3682

用java取得linux系统cpu、内存的实时信息

   很想写些话在最前面,但是真的不知道该说什么好。   很快的,2005年已经过去,这几天一直打算要在2005年内再写几篇的,可惜,每次都是忙的要死,要不就是有别的事情,一直推倒2005年的最后一天晚上。   本来已经决定了一定要完成的,都怪湖南卫视台的那个跨年度演唱会啊,竟然一直到12点以后才结束,我又不舍的离开,没办法。   可见我就是这样一个人,对于已定的计划总是有理由去拖延 :)   回

3528

事务服务浅析

  事务是一个非常重要的编程概念,使用事务,可以很简单地构造出可靠稳定的应用程序,本文以许多具体的例子介绍了事务服务的概念和事务服务的具体实现。  本文共分两部分:第一部分从事务服务整体描述的角度简要介绍了事务服务产生的动机、事务服务的应用和事务服务的功能,其中以具体的例子解释了相关概念和事务服务涉及到的一些术语;第二部分以J2EE中的事务服务为例对事务的实现作简要的介绍。 第I部分 事务服务简述

3220

朝花夕拾 之 J2EE中的事务处理

事务简介  一般情况下,J2EE应用服务器支持JDBC事务、JTA(Java Transaction API)事务(一般由容器来进行管理)。通常,最好不要在程序中同时使用上述三种事务类型,比如在JTA事务中嵌套JDBC事务。第二方面,事务要在尽可能短的时间内完成,不要在不同方法中实现事务的使用(事务的嵌套要求更加良好的设计)。 JDBC事务  在JDBC中怎样将多个SQL语句组合成一个事务呢?在J

3057

成功解决事务嵌套

JTA事务的嵌套  由于前两篇帖子都是关于事务的讨论 (J2EE中的事务处理document.title="朝花夕拾 之 J2EE中的事务处理 - "+document.title 、 事务服务浅析),没有讨论到事务嵌套时的解决办法,这两天一直在琢磨,如何才能高效、灵活的解决事务的嵌套问题呢?  既然web容器可以判断当前方法是否处在事务中(JTA事务中提交java.sql.Connect

2924

软件开发的基础知识—软件版本号详解

  经常被不同的软件版本搞得一头雾水,alpha、beta、demo、professional、enterprise等等,这些版本信息到底都有哪些实际上的含义呢? ·测试版与演示版α(alpha)版  此版本表示该软件仅仅是一个初步完成品,通常只在软件开发者内部交流,也有很少一部分发布给专业测试人员。一般而言,该版本软件的bug较多,普通用户最好不要安装。 β(beta)版  该版本相对于α版已有

2452

开源Licenses简介

    作为一个软件开发者,不可避免的要与Open Source打交道,不管是因为你要选择使用一个开源产品还是你也要加入到开源当中。那么你可有想过为自己的开源项目设立一个合法的保障,保障自己以及使用者的权益,或者如果你使用一个开源产品的话,可有考虑过是否因为是开源就可以随意滥用?    很不幸的是,在中国,很多人甚至很多企业对License这个东西满不在乎(众所周知的事情),导致了中国软件业没有大

2378

用DOM/JDOM解析XML文件(2)

      很久没有发贴了,似乎已经彻底遗忘了这个角落。也许,只有在心情低落的时候才会想起,只有我的blog能陪我彻夜无眠。就像一只受伤的动物,总有一个秘密的藏身之处,与世隔绝,只有自己知道,在这个私人的角落,有梦想、有回忆、有失落、也有甜蜜……       上次的文章末尾提到要补一个同样功能的JDom版XML解析器,找了半天,似乎丢了,勉强看到一个,也不知道是不是当时的最终版本,乍一看上去,

2181

Ant超简单入门

Ant 是一个非常强大的工具,不学可不行哦;P一个超简单的example:目标:用ant工具完成一个java类的编译而且要运行看到结果,并且提示过程完成。过程:1、下载ant:到http://ant.apache.org网站下载最新版本的ant1.6.2,apache-ant-1.6.2-bin.zip,解压到d:/ant目录2、设置环境变量:ant_home=d:/antjava_home=D:

1974
上一篇: 朝花夕拾 之 MD5的Java实现
下一篇: 页面动态排序
java008
博客等级 码龄23年 6粉丝 31原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值