- 博客(68)
- 资源 (2)
- 收藏
- 关注
原创 BigDecimal讲解
前言:所以我们一般使用 BigDecimal 来解决商业运算上丢失精度的问题的时候,声明 BigDecimal 对象的时候一定要使用它构造参数为 String 的类型的构造器。同时这个原则 Effective Java 和 MySQL 必知必会中也都有提及。float 和 double 只能用来做科学计算和工程计算。商业运算中我们要使用 BigDecimal。面试官:BigDecimal一定不会丢失精度吗?Java核心技术昨天领读:都知道Double会丢失精度,BigDecimal就不.
2020-12-09 16:27:09
356
转载 EJB到底是什么
EJB到底是什么?1.我们不禁要问,什么是"服务集群"?什么是"企业级开发"?既然说了EJB 是为了"服务集群"和"企业级开发",那么,总得说说什么是所谓的"服务集群"和"企业级开发"吧!这个问题其实挺关键的,因为J2EE 中并没有说明白,也没有具体的指标或者事例告诉广大程序员什么时候用EJB 什么时候不用。于是大家都产生一些联想,认为EJB"分布式运算"指得是"负载均衡"提高系统的...
2019-09-19 13:47:02
253
1
转载 jdbc批处理
在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。 JDBC实现批处理有两种方式:statement和preparedstatement一、使用Statement完成批处理 1、使用Statement对象添加要批量执行SQL语句,如下:1 Statement.addBatch(sql1...
2019-03-15 10:12:13
628
转载 一个故事讲清楚NIO
假设某银行只有10个职员。该银行的业务流程分为以下4个步骤:1) 顾客填申请表(5分钟);2) 职员审核(1分钟);3) 职员叫保安去金库取钱(3分钟);4) 职员打印票据,并将钱和票据返回给顾客(1分钟)。我们看看银行不同的工作方式对其工作效率到底有何影响。一、BIO方式每来一个顾客,马上由一位职员来接待处理,并且这个职员需要负责以上4个完整流程。当超过10个顾客时,...
2019-02-13 16:55:17
200
原创 API设计原则
在设计接口时,有很多因素要考虑,如接口的业务定位,接口的安全性,接口的可扩展性、接口的稳定性、接口的跨域性、接口的协议规则、接口的路径规则、接口单一原则、接口过滤和接口组合等诸多因素,本篇文章将简要分析这些因素。一、规范性建议1、职责原则在设计接口时,必须明确接口的职责,即接口类型,接口应解决什么业务问题等。2、单一性原则在明确接口职责的条件下,尽量做到接口单一,即一个接口只做...
2019-02-13 16:30:46
4771
翻译 Java中4大基本加密算法解析
简单的java加密算法有:BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm,安全散列算法) HMAC(Hash Message Authentication Code,散列消息鉴别码)1. BASE64Base64是网络上最常见的用于传输8Bit字节代...
2019-01-25 13:53:40
353
原创 java开发总结几条
1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。2. 尽量避免随意使用静态变量要知...
2019-01-21 13:32:50
231
原创 内存溢出的场景及解决办法
开发过程中是否遇到 StackVoerflowError、Permgen space等错误?怎么解决? 对于java程序员来说,在虚拟机自动内存管理机制的帮助下,不需要自己实现释放内存,不容易出现内存泄漏和内存溢出的问题,由虚拟机管理内存这一切看起来非常美好,但是一旦出现内存溢出或者内存泄漏的问题,对于不熟悉jvm虚拟机是怎么使用内存的话,那么排查错误将会是一项非常艰巨的任务。所以在了...
2019-01-08 10:30:55
24567
3
原创 Java中HashMap和TreeMap的区别
首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。这就是我们平时说的键值对。HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排...
2019-01-08 09:57:53
533
原创 TCP与UDP以及三次握手和四次挥手
TCP协议和UDP协议的区别是什么 TCP协议是有连接的,有连接的意思是开始传输实际数据之前TCP的客户端和服务器端必须通过三次握手建立连接,会话结束之后也要结束连接。而UDP是无连接的 TCP协议保证数据按序发送,按序到达,提供超时重传来保证可靠性,但是UDP不保证按序到达,甚至不保证到达,只是努力交付,即便是按序发送的序列,也不保证按序送到。 TCP协议所需资源多...
2018-12-28 16:34:41
606
转载 在github和openshif上搭建自己博客
Openshift 安装WordPress OpenShift是红帽的云开发平台即服务(PaaS)。 Openshift的免费用户可以创建最多3个应用,且为每个应用提供1GB存储空间和200M的数据库大小。运行内存为512m。 支持语言众多,这点也是他受欢迎的原因。 虽然Openshift提供的是云计算开发平台,但其也提供了wordpress的安装。首先登陆官网:Openshift ...
2018-07-20 16:20:38
388
转载 spring中@value注解需要注意
首先,@value需要参数,这里参数可以是两种形式:@Value(“#{configProperties[‘t1.msgname’]}”)或者@Value(“${t1.msgname}”); 其次,下面我们来看看如何使用这两形式,在配置上有什么区别: 1、@Value(“#{configProperties[‘t1.msgname’]}”)这种形式的配置中有“configProperties”...
2018-06-21 15:38:37
984
1
原创 MySQL字符集和占用字节多少
SQL语句:select length(字段名) from 表名; 总结:MySQL中,(varchar 30 ,varchar是几就可以存几个文符) UTF-8对中文采用3个字节,对英文采用1个字节;GBK对中文采用2个字节,对英文采用1个字节; utf8: 1character=3bytes, 1汉字=1character 也就是说一个字段定义成 varchar(200),则它可以...
2018-04-17 16:36:49
5132
原创 HTTP日记
Http请求 GET /day09/first HTTP/1.1 –请求行(必须有)Host: localhost:8080 –多个请求头(必须有) User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 Accept: t...
2018-03-05 22:44:16
278
原创 http协议分析
HTTP协议版本: http1.0: 当浏览器客户端与服务器连接之后,只能向服务器发送一次请求。 http1.1: 当浏览器客户端与服务器连接之后,可以发送多次请求。(效率比1.0高) 百度百科解释: HTTP/1.0 这是第一个在通讯中指定版本号的HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。 HTTP/1.1 当前版本。持久连接被默认采用,并能很好地配合代理服务器工作。...
2018-03-05 16:53:05
380
原创 tomcat部署web 项目三种方式
留着给入门笔记,同样分享给入门小伙伴们! 操作前,先来了解一下Tomcat的目录结构。(适用于Tomcat 6.0,Tomcat7.0,Tomcat8.0) Tomcat下有7个目录 分别是bin,conf,lib,logs,temp,webapps,work 目录,现在对每一目录做介绍。 Tomcat根目录在tomcat中叫CATALINA_HOME, 1. CATALINA_...
2018-03-05 14:10:06
891
原创 java中foreach循环
foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。 foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。 foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也...
2018-03-02 10:50:12
197248
19
原创 MySql数据对应Java数据类型
废话不多说,直接上货,亲试!通过mybatis自动生成java类! public class DataToData { private Byte tinyint;private Short smallint;private Integer mediumint;private Integer int;private Integer integer;private Lo...
2018-02-26 18:15:55
1725
转载 Git 远程仓库 git remote
原创 2015年04月29日 16:23:59 7023 git remote -v 查看现有远程仓库的地址url三种方式都可以。修改命令 git remote set-url origin 更换远程仓库地址。把更换为新的url地址。2.先删后加 git remote rm origin git remote add origin git@github.com:Liut
2018-02-06 16:56:15
1126
原创 git工作使用技巧2
git tag (打一个新标签,默认标签是打在最新提交的commit上的;找到历史提交的commit id,可以给历史版本打标签)git show (查看标签信息)git tag (查看所有标签)git tag -a -m “blablabla…” (指定标签信息)git tag -s -m “blablabla…” (用PGP签名标签)git tag -d (删除标签)
2018-01-12 16:48:08
316
原创 git工作使用技巧
安装完成后,在开始菜单里找到“Git”->“Git Bash”git config –global user.name “Your Name” git config –global user.email “email@example.com”cd F: (打开F盘) mkdir (创建子目录) pwd (显示当前目录)git init (把这个目录变成Git可以管理的仓库)git
2018-01-12 16:43:53
213
原创 Java与MySQL数据类型对应类型
对于boolean类型,在mysql数据库中,个人认为用int类型代替较好,对bit操作不是很方便,尤其是在具有web页面开发的项目中,表示0/1,对应java类型的Integer较好。 我的概念中,mysql中的text字段应该是没有长度限制的,但是今天事实告诉我,text类型的长度是有限制的。其中mysql的text类型有64K长度限制的 工作中由于邮件的长度超过了64k,Text已经不适用
2017-12-18 12:01:15
6621
原创 更改maven或者web项目名
1.在myeclipse中修改项目名1.1改项目文件夹名称多数人改项目名只做了这一步,但是后面发现并没有起到真正的作用,比如把一个原有的项目 copy 出一个新项目,然后按 F2 改了文件名,再把这个项目部署到 tomcat,会看到 tomcat 提示已经有一个“同名”项目部署过了。而 tomcat 提示的这个“同名”显然指的不是文件名,而是另有所指。1.2改项目组件名称选中项目,右键选择 Pro
2017-12-12 17:07:35
3056
原创 jdk编译版本和运行版本不符
一、错误现象:当改变了jdk版本时,在编译java时,会遇到Unsupported major.minor version错误。 错误信息如下 : Unsupported major.minor version 51.0(我在jdk1.6 和1.7切换时就遇到了这个错误) Unsupported major.minor version 50.0 Unsupported major.m
2017-12-11 14:09:18
7785
转载 Xshell连接Linux显示乱码解决
xshell(xshell5)以及其他终端中文乱码的原因无非有三种 (1)Linux系统的编码问题 (2)xshell终端的编码问题 (3)两端的语言编码不一致1、Linux系统的编码问题(1) 执行locale命令查看系统语言(2)设置系统环境变量LANG为en_US.UTF-8: export LANG=en_US.UTF-8或者编辑文件:vim /etc/sysconfig/i
2017-11-22 20:59:46
2677
转载 Linux常用50条命令
总结Linux常用50条命令在linux中一切皆文件linux中的绝对路径和相对路径。路径就是文件存放的位置。 绝对路径的写法是由根目录“/”写起,相对路径的写法不是由根目录写起 eg:绝对路径 cd /bin 相对路径 cd python 1.命令mkdir 该命令是用于创建目录,英文缩写为:make directory,格式 mkdir [-mp] [目录名称] -m用于制定要
2017-11-22 11:31:46
1088
翻译 mysql中字符集 utf8 和utf8mb4 有什么区别?
本文讲的是mysql中字符集 utf8 和utf8mb4 有什么区别?, 可以简单的理解 utf8mb4 是目前最大的一个字符编码,支持任意文字. 为什么会有UTF8MB4? 既然utf8应付日常使用完全没有问题,那为什么还要使用utf8mb4呢? 低版本的MySQL支持的utf8编码,最大字符长度为
2017-11-01 18:08:42
3871
原创 -Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HO
步骤: 1.添加M2_HOME的环境变量 2.Preference->Java->Installed JREs->Edit 选择一个jdk 3.添加 -Dmaven.multiModuleProjectDirectory=$M2_HOME 4. 神圣的一步:Finish
2017-10-28 11:36:10
296
翻译 动态代理机制
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在java的动态代理机制中,有两个重要的类或
2017-10-26 18:27:08
222
转载 启动eclipse报错:"could not create the java virtual machine"
今天准备使用eclipse写代码:报错“could not create theJava virtual machine ”,晕了,前段时间还用它写过程序,怎么突然出这种错误,打开任务管理器一看,因为开了几个VS2005,内存已经被消耗得差不多了,本来2048M的内存,现在只剩下700多M了,难道是内存不够,Java虚拟机创建失败? 打开到eclipse安装文件夹下的eclips
2017-08-27 10:56:48
937
原创 maven安装与配置
使用本地的maven环境 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成。Maven是 Apache 下的一个项目,目前我的新版本是 3.0.4,我用的也是这个。 1.首先去官网下载 Maven:http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0.4-bin.tar.gz
2017-04-19 10:53:46
457
原创 win7 IIS配置
windows7系统下IIS的配置攻略: 一、进入Win7的控制面板,打开程序功能,选择打开或关闭Windows功能 。 二、在安装Windows功能的选项菜单,把interlnet信息服务的所有组件全部勾起来。 三、安装完成后,打开控制面板,进入系统和安全,打开管理工具,点Internet 信息服务(IIS)管理器。 四、打开IIS
2017-04-17 16:22:10
641
原创 Spring MVC ModelAndView详解
ModelAndView 该对象中包含了一个model属性和一个view属性 model:其实是一个ModelMap类型。其实ModelMap是一个LinkedHashMap的子类 view:包含了一些视图信息 当视图解释器解析ModelAndVIew是,其中model本生就是一个Map的实现类的子类。视图解析器将model中的每个元素
2017-04-17 16:09:09
17767
原创 EL表达式详解
一、EL表达式简介 EL 全名为Expression Language。EL主要作用: 1、获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组) 2、执行运算 利用EL表达式可以在JSP页面中执行一些
2017-04-17 16:03:59
812
原创 Spring Jdbc Template详解
JdbcTemplate简介 Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。 JdbcTemplate位于中。其全限定命名为org.springframework.jdbc.core.JdbcTemplate。要使用JdbcTemlate还需一个这个包包含了一下事务和异常控制
2017-04-17 15:58:33
3754
原创 手动在防火墙中添加端口
百度知道,经过我的验证,收藏起来。点击【开始】按钮在弹出的菜单中点击【控制面板】项在弹出的控制面板窗口中,点击【windows防火墙】在弹出的窗口左侧中点击【高级设置】,进入高级安全windows防火墙设置项 要想设置防火墙策略其实主要是针
2017-04-13 10:26:22
2476
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人