- netty-简易聊天
2401_84046645
程序员java开发语言
publicvoidsend(Stringtext){channel.writeAndFlush(Unpooled.copiedBuffer(text.getBytes()));}publicvoidcloseConnect(){send(“bye”);channel.close();}}classMyHandlerextendsChannelInboundHandlerAdapter{@Over
- Java IO基础:高效读写文本数据
欺霜
Java核心APIjava开发语言
文件中只能保存2进制信息,因此我们要想写出文本数据,需要先将字符串转换为2进制文字编码String提供了将字符串转换为一组字节的方法byte[]getBytes(Charsetcs)将当前字符串按照指定的字符集转换为一组字节例如:FileOutputStreamfos=newFileOutputStream("fos1.txt");Stringline="学习Java,使我快乐";byte[]da
- itext对pdf文件设置权限
落叶的位置
itextitextJava
让pdf文件无法被修改PdfWriter的方法setEncryption(null,“123456”.getBytes(),PdfWriter.ALLOW_PRINTING,PdfWriter.STANDARD_ENCRYPTION_40);参数为访问者密码,拥有者密码,访问者权限,加密方式。其中权限列表:权限说明ALLOW_PRINTING文档允许打印ALLOW_DEGRADED_PRINTIN
- C#利用接口实现选择不同的语种
wenchm
c#开发语言
目录一、涉及到的知识点1.接口定义2.接口具有的特征3.接口通过类继承来实现4.有效使用接口进行组件编程5.Encoding.GetBytes(String)方法(1)检查给定字符串中是否包含中文字符(2)编码和还原前后6.Encoding.GetString(Byte[])方法(1)示例二、实例1.源码2.生成效果一、涉及到的知识点1.接口定义接口是一种用来定义程序的协议,它描述可属于任何类或结
- 记录解决问题--GBK转UTF-8时,奇数个中文会乱码,偶数个中文不会乱码
jacGJ
springbootjava开发语言
1.原因中文s,gbk转utf-8会扩展字节,中文utf-8字节转gbk,最后一个字节格式不对,直接转为了?(63),再将带问号中文gbk转utf-8字节,最后一个字节就变成了63,输出utf-8的中文最后就乱码了。清晰原文链接其实:中文,只要getBytes和newString都是一样的编码,无论如何都不会乱码。而乱码的原因就是其中几种编码之间转换不识别,导致字节码发生了变化,字节码对应的中文就
- 2018-11-16 中文 和Unicode 互转
流光念岁月
**中文和Unicode编码互转**1.符合客户端方式转换//////字符串转Unicode码//////Thetounicode.///Value.privatestringStringToUnicode(stringvalue){byte[]bytes=Encoding.Unicode.GetBytes(value);StringBuilderstringBuilder=newStringBu
- MultipartFile文件上传300M以上,报异常java.lang.OutOfMemoryError: Java heap space
appearappear
原因:FileCopyUtils.copy(mf.getBytes(),savefile);把MultipartFile转成字节流再存入文件解决:将流存到文件中try{FileOutputStreamoutput=openOutputStream(destination);try{IOUtils.copy(source,output);output.close();}finally{org.apa
- 记录一次在文件多处理的场景中遇到的问题
[奸笑]这个不是斜眼笑[奸笑]
springbootspringcloudjavajava开发语言
业务场景当一个音频传过来的时候,需要根据A的返回值对B进行不同的处理,A接口已有,当时任务急,B接口是写死的,后面需要优化这一部分的代码。获取文件的字节流后,发现后面会报一个文件中不到的问题,仔细排查后,发现操作系统并没有这个文件。MultipartFile对象第二次调用getBytes的问题当一个MultipartFile对象第二次调用getBytes的时候,可能会出现问题。这是因为在第一次调用
- MD5加密&解决不同系统加密串不一致问题
Shi.HuaHao
Javajava
MD5加密方法:publicStringgetMd5(StringplainText){try{MessageDigestmd=MessageDigest.getInstance("MD5");md.update(plainText.getBytes());byteb[]=md.digest();inti;StringBufferbuf=newStringBuffer("");for(intoff
- so入门分析
sugar椰子皮
零基础爬虫第一天python开发语言
常见找加密点思路:objecitonandoridhookingwatchclass_methodjava.lang.String.getBytes会发现一些堆栈找到地方如下packagecom.sichuanol.cbgc.util;/*loadedfrom:5382408_artMethod_out.dex*/publicclassSignManagerimplementscn.thecove
- java实现.net中byte和int转化的方法:BitConverter.GetBytes【验证可用】
快乐学习。
后端java.net算法
背景今天改造.net的代码发现一个工具类在java中找不到对应的默认函数,索性自己写一个,验证可用。1、整数转为字节数组publicstaticbyte[]toByteArray(intvalue){returnnewbyte[]{(byte)((value>>24)&0xFF),(byte)((value>>16)&0xFF),(byte)((value>>8)&0xFF),(byte)(val
- C# 字符转ASCII码,ASCII码转字符
maozhu_yimi
C#c#bytecharacterexceptionstringexcel
publicstaticintAsc(stringcharacter){if(character.Length==1){System.Text.ASCIIEncodingasciiEncoding=newSystem.Text.ASCIIEncoding();intintAsciiCode=(int)asciiEncoding.GetBytes(character)[0];return(intAs
- SpringBoot上传文件 MultipartFile.getBytes 导致内存溢出
Sir_小三
java学习
记录一下生产环境上传大文件发生的一次内存溢出问题管理平台在上传大文件时抛出错误OOM异常(jvm内存溢出,就是内存不够用了),除了上传文件以外,其它操作没有什么问题经过排查发现,后端controller接口使用了MultipartFile.getBytes()去拿到文件的字节数组,试想下如果上传2个g的视频,那么这个bytes数组得多大?需要占用多少内存?经常网上查找,找到了一个方法,通过拷贝流的
- spring自带md5加密工具类
李少兄
Javaspringjava前端
1.导包importorg.springframework.util.DigestUtils;Stringpassword="123456";password=DigestUtils.md5DigestAsHex(password.getBytes());System.out.println("password="+password);2.效果password=e10adc3949ba59abbe
- 【Java】从web页面传来的参数,在java后台乱码怎么解决
ahtzc2017
一、问题前端页面是用utf-8编码的,在后端java代码中获取,从web页面传来的request里获取参数,但是乱码了,该如何解决;二、解决方法获取参数的时候,用获取字节的方式Stringname=newString(request.getParameter("要获取的参数名称").getBytes("ISO-8859-1"),"UTF-8");例如,我前端通过url发送的url请求,有一个请求参
- 使用Servlet实现登录和注册功能
wdx0000
1.分析:1、注册功能(1)前端1.注册表单、用户名、密码、单选、复选、下拉列表控件编写2.action属性跳转到后台;name属性传参数到后台(2)后台1.新建注册Servlet,用request接收参数;response返回数据到前端(3)处理乱码1.request的doGet请求:newString(username.getBytes("iso-8859-1"),"utf-8");2.res
- 点击链接浏览器下载文件
ldj2020
java
//首先根据请求,找到服务器端文件存储地址,并创建File文件Filefile=newFile(filePath);filename=newString(filePath.getBytes("iso8859-1"),"UTF-8");//设置响应头,控制浏览器下载该文件response.setHeader("content-disposition","attachment;filename="+U
- 好用的简单的高效的黑马md5加密方法工具类
广土士厂丨口
工具类spring
1.说明:spring自带的md5加密方法2.password:你要加密的明文密码3.函数:DigestUtils.md5DigestAsHex(password.getBytes());4.校验:国内最多人用来进行在线md5加密的网站:https://www.cmd5.com/
- Java使用UTF-8或GBK编码后还是乱码的问题
奋斗的阿杰
开发工具javajvm开发语言
大家在开发中可能经常遇到将String字符串转为byte[]的场景,为了避免中文乱码,一般指定字符集为GBK或UTF-8来进行编码以及解码,但是如果使用不当,同样会造成字符集乱码问题。主要原因是进行编码以及解码的字符集不一致导致所以,在解决字符集乱码问题时一般情况下会显示指定编码和解码字符集。//编码byte[]bytes=“中文”.getBytes(“UTF-8”);//解码newString(
- Java post请求 xml格式
重逢是最好的邂逅
servletjavahtml
publicclassTestHttp{publicvoidtestRegist(){try{StringBuffersb=newStringBuffer("");sb.append("");sb.append("2010");sb.append("");byte[]xmlbyte=sb.toString().getBytes("UTF-8");URLurl=newURL("http://xx:8
- .net core 下 DES &MD5加密
homehome...
.NETCore基础知识c#
項目中經常會用到加密解密,分享DES&MD5加密,當然我們建議使用MD5.#regionDESencrypt,decryptpublicstringEncryptDES(stringinput,stringkey){byte[]inputArray=Encoding.UTF8.GetBytes(input);vartripleDES=TripleDES.Create();varbyteKey=En
- 华清远见重庆中心——Java高级部分技术总结/个人总结
Titan kennyS
java开发语言
java高级部分总结类的各种常用方法字符串String类中的常用方法方法名返回值作用length()int得到字符串长度toLowerCase()String转换为小写toUpperCase()String转换为大写trimString去除字符串首尾全部空格isEmpty()boolean判断字符串长度是否为0getBytes()byte[]转换为字节数组toCharArray()char[]转换
- SM3WITHSM2算法默认使用的userid
SofterICer
x509证书servletmysql安全
SM3WITHSM2算法默认使用的userid是字符串"1234567812345678"如果你想要修改默认的userid,你可以在调用SM2签名函数之前设置一个新的值。例如:StringnewUserId="my_new_user_id";SM2Util.DEFAULT_USER_ID=newUserId.getBytes();SM2密钥用SM3WITHSM2算法签发出的证书中的签名值是derE
- 【攻防世界】mobile easyjni writeup
Melody0x0
android
首先观察MainActivity的代码:publicclassMainActivityextendsc{static{System.loadLibrary("native");}privatebooleana(Strings){try{returnthis.ncheck(newa().a(s.getBytes()));}catch(Exceptionexception0){returnfalse;
- Java中使用 Base64、UrlEncode、URLDecoder 实现对字符串编码、解码
拄杖忙学轻声码
Java基础Lambda和Stream流java
一、使用jdk的Base64工具1、编码StringtestStr="还没有吃饭!";StringencodeStr=Base64.getEncoder().encodeToString(testStr.getBytes());System.out.println("使用jdk的Base64编码:"+encodeStr);输出:使用jdk的Base64编码:6L+Y5rKh5pyJ5ZCD6aWt
- c# windows10大小端试
anlog
笔记c#windows大小端存储c#获取变量地址c#获取变量内存地址
测试代码:unsafepublicvoidceshi(){byte[]by=BitConverter.GetBytes(0x12345678);Debug.WriteLine("byte[0]=0x"+by[0].ToString("x2"));Debug.WriteLine("byte[1]=0x"+by[1].ToString("x2"));Debug.WriteLine("byte[2]=0
- IDEA TODO
有一个好名字
IDEAintellij-ideajavaide
今天记录一个IDEA工具的小技巧,TODO。比如下班前有一个小功能没完善好,此时可以在响应代码上加上TODO注解,//密码比对//TODO后期需要进行md5加密,然后再进行比对password=DigestUtils.md5DigestAsHex(password.getBytes());if(!password.equals(employee.getPassword())){//密码错误thro
- 用RC2CryptoServiceProvider来加密解密
zslefour
VB.net
参考微软RC2CryptoServiceProvider构造函数中示例,写了个加密解密函数,可以用来进行一般的加解密用。#Region"rc2Encode、rc2Decode加解密"'ANSIMode=False'可对任何Unicode字符串加解密'ANSIMode=True'只对ANSI字符串加解密,对英文字符串的加密串长度较短,中文和False时一样'因为经GetBytes转换时,英文经“系统
- java导出excel 自定义表头
糖豆like
代码java
//声明一个工作薄HSSFWorkbookworkbook=newHSSFWorkbook();//创建sheetHSSFSheetsheet=workbook.createSheet(“统计表”);//设置根据列名,列宽自适应,columnIndex列索引sheet.setColumnWidth(columnIndex,“列名”.getBytes().length2256);//创建styleH
- java SHA-256加密
Borny鼎鼎
Javajava
Stringstr="test";MessageDigestmessageDigest=MessageDigest.getInstance("SHA-256");byte[]hash=messageDigest.digest(str.getBytes("UTF-8"));StringencodeStr=Hex.encodeHexString(hash);
- 对于规范和实现,你会混淆吗?
yangshangchuan
HotSpot
昨晚和朋友聊天,喝了点咖啡,由于我经常喝茶,很长时间没喝咖啡了,所以失眠了,于是起床读JVM规范,读完后在朋友圈发了一条信息:
JVM Run-Time Data Areas:The Java Virtual Machine defines various run-time data areas that are used during execution of a program. So
- android 网络
百合不是茶
网络
android的网络编程和java的一样没什么好分析的都是一些死的照着写就可以了,所以记录下来 方便查找 , 服务器使用的是TomCat
服务器代码; servlet的使用需要在xml中注册
package servlet;
import java.io.IOException;
import java.util.Arr
- [读书笔记]读法拉第传
comsci
读书笔记
1831年的时候,一年可以赚到1000英镑的人..应该很少的...
要成为一个科学家,没有足够的资金支持,很多实验都无法完成
但是当钱赚够了以后....就不能够一直在商业和市场中徘徊......
- 随机数的产生
沐刃青蛟
随机数
c++中阐述随机数的方法有两种:
一是产生假随机数(不管操作多少次,所产生的数都不会改变)
这类随机数是使用了默认的种子值产生的,所以每次都是一样的。
//默认种子
for (int i = 0; i < 5; i++)
{
cout<<
- PHP检测函数所在的文件名
IT独行者
PHP函数
很简单的功能,用到PHP中的反射机制,具体使用的是ReflectionFunction类,可以获取指定函数所在PHP脚本中的具体位置。 创建引用脚本。
代码:
[php]
view plain
copy
// Filename: functions.php
<?php&nbs
- 银行各系统功能简介
文强chu
金融
银行各系统功能简介 业务系统 核心业务系统 业务功能包括:总账管理、卡系统管理、客户信息管理、额度控管、存款、贷款、资金业务、国际结算、支付结算、对外接口等 清分清算系统 以清算日期为准,将账务类交易、非账务类交易的手续费、代理费、网络服务费等相关费用,按费用类型计算应收、应付金额,经过清算人员确认后上送核心系统完成结算的过程 国际结算系
- Python学习1(pip django 安装以及第一个project)
小桔子
pythondjangopip
最近开始学习python,要安装个pip的工具。听说这个工具很强大,安装了它,在安装第三方工具的话so easy!然后也下载了,按照别人给的教程开始安装,奶奶的怎么也安装不上!
第一步:官方下载pip-1.5.6.tar.gz, https://pypi.python.org/pypi/pip easy!
第二部:解压这个压缩文件,会看到一个setup.p
- php 数组
aichenglong
PHP排序数组循环多维数组
1 php中的创建数组
$product = array('tires','oil','spark');//array()实际上是语言结构而不 是函数
2 如果需要创建一个升序的排列的数字保存在一个数组中,可以使用range()函数来自动创建数组
$numbers=range(1,10)//1 2 3 4 5 6 7 8 9 10
$numbers=range(1,10,
- 安装python2.7
AILIKES
python
安装python2.7
1、下载可从 http://www.python.org/进行下载#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2、复制解压
#mkdir -p /opt/usr/python
#cp /opt/soft/Python-2
- java异常的处理探讨
百合不是茶
JAVA异常
//java异常
/*
1,了解java 中的异常处理机制,有三种操作
a,声明异常
b,抛出异常
c,捕获异常
2,学会使用try-catch-finally来处理异常
3,学会如何声明异常和抛出异常
4,学会创建自己的异常
*/
//2,学会使用try-catch-finally来处理异常
- getElementsByName实例
bijian1013
element
实例1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/x
- 探索JUnit4扩展:Runner
bijian1013
java单元测试JUnit
参加敏捷培训时,教练提到Junit4的Runner和Rule,于是特上网查一下,发现很多都讲的太理论,或者是举的例子实在是太牵强。多搜索了几下,搜索到两篇我觉得写的非常好的文章。
文章地址:http://www.blogjava.net/jiangshachina/archive/20
- [MongoDB学习笔记二]MongoDB副本集
bit1129
mongodb
1. 副本集的特性
1)一台主服务器(Primary),多台从服务器(Secondary)
2)Primary挂了之后,从服务器自动完成从它们之中选举一台服务器作为主服务器,继续工作,这就解决了单点故障,因此,在这种情况下,MongoDB集群能够继续工作
3)挂了的主服务器恢复到集群中只能以Secondary服务器的角色加入进来
2
- 【Spark八十一】Hive in the spark assembly
bit1129
assembly
Spark SQL supports most commonly used features of HiveQL. However, different HiveQL statements are executed in different manners:
1. DDL statements (e.g. CREATE TABLE, DROP TABLE, etc.)
- Nginx问题定位之监控进程异常退出
ronin47
nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。
1. 在error.log中查看是否有signal项,如果有,看看signal是多少。
比如,这是一个异常退出的情况:
$grep signal error.log
2012/12/24 16:39:56 [alert] 13661#0: worker process 13666 exited on s
- No grammar constraints (DTD or XML schema).....两种解决方法
byalias
xml
方法一:常用方法 关闭XML验证
工具栏:windows => preferences => xml => xml files => validation => Indicate when no grammar is specified:选择Ignore即可。
方法二:(个人推荐)
添加 内容如下
<?xml version=
- Netty源码学习-DefaultChannelPipeline
bylijinnan
netty
package com.ljn.channel;
/**
* ChannelPipeline采用的是Intercepting Filter 模式
* 但由于用到两个双向链表和内部类,这个模式看起来不是那么明显,需要仔细查看调用过程才发现
*
* 下面对ChannelPipeline作一个模拟,只模拟关键代码:
*/
public class Pipeline {
- MYSQL数据库常用备份及恢复语句
chicony
mysql
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。
mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > ba
- 小白谈谈云计算--基于Google三大论文
CrazyMizzz
Google云计算GFS
之前在没有接触到云计算之前,只是对云计算有一点点模糊的概念,觉得这是一个很高大上的东西,似乎离我们大一的还很远。后来有机会上了一节云计算的普及课程吧,并且在之前的一周里拜读了谷歌三大论文。不敢说理解,至少囫囵吞枣啃下了一大堆看不明白的理论。现在就简单聊聊我对于云计算的了解。
我先说说GFS
&n
- hadoop 平衡空间设置方法
daizj
hadoopbalancer
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value>
<description&g
- Eclipse程序员要掌握的常用快捷键
dcj3sjt126com
编程
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可以那么勤奋,每天都孜孜不倦得
- Android学习之路
dcj3sjt126com
Android学习
转自:http://blog.csdn.net/ryantang03/article/details/6901459
以前有J2EE基础,接触JAVA也有两三年的时间了,上手Android并不困难,思维上稍微转变一下就可以很快适应。以前做的都是WEB项目,现今体验移动终端项目,让我越来越觉得移动互联网应用是未来的主宰。
下面说说我学习Android的感受,我学Android首先是看MARS的视
- java 遍历Map的四种方法
eksliang
javaHashMapjava 遍历Map的四种方法
转载请出自出处:
http://eksliang.iteye.com/blog/2059996
package com.ickes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
* 遍历Map的四种方式
- 【精典】数据库相关相关
gengzg
数据库
package C3P0;
import java.sql.Connection;
import java.sql.SQLException;
import java.beans.PropertyVetoException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DBPool{
- 自动补全
huyana_town
自动补全
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&quo
- jquery在线预览PDF文件,打开PDF文件
天梯梦
jquery
最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了。
核心代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
- ViewPager刷新单个页面的方法
lovelease
androidviewpagertag刷新
使用ViewPager做滑动切换图片的效果时,如果图片是从网络下载的,那么再子线程中下载完图片时我们会使用handler通知UI线程,然后UI线程就可以调用mViewPager.getAdapter().notifyDataSetChanged()进行页面的刷新,但是viewpager不同于listview,你会发现单纯的调用notifyDataSetChanged()并不能刷新页面
- 利用按位取反(~)从复合枚举值里清除枚举值
草料场
enum
以 C# 中的 System.Drawing.FontStyle 为例。
如果需要同时有多种效果,
如:“粗体”和“下划线”的效果,可以用按位或(|)
FontStyle style = FontStyle.Bold | FontStyle.Underline;
如果需要去除 style 里的某一种效果,
- Linux系统新手学习的11点建议
刘星宇
编程工作linux脚本
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。
一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linu
- hibernate dao层应用之HibernateDaoSupport二次封装
wangzhezichuan
DAOHibernate
/**
* <p>方法描述:sql语句查询 返回List<Class> </p>
* <p>方法备注: Class 只能是自定义类 </p>
* @param calzz
* @param sql
* @return
* <p>创建人:王川</p>
* <p>创建时间:Jul