自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LYW_lyw的博客

菜鸟学习日志

  • 博客(54)
  • 收藏
  • 关注

原创 FTP学习

http://commons.apache.org/proper/commons-net/javadocs/api-1.4.1/org/apache/commons/net/ftp/FTPClient.html

2021-02-22 16:26:12 144

转载 sts-junit学习篇-mockMVC传输@RequestBody数据解决办法

1.一个例子:import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.junit.Before;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotat...

2020-02-24 15:47:59 711

原创 sts-Junit学习篇之mockMvc

1.sts自动生成测试类选择要生成测试类的文件,右键->new->Junit test case或者右键->new->other->Java->junit test case2.类名上添加的注解(1)首先测试Controller类时,在类名上加入注解@RunWith和@WebMvcTest,@ActiveProfiles("test")@RunW...

2020-02-24 15:05:24 686

转载 MYSQL中replace into的用法

新建一个test表,三个字段,id,title,uid, id是自增的主键,uid是唯一索引;插入两条数据insert into test(title,uid) VALUES ('123465','1001');insert into test(title,uid) VALUES ('123465','1002');执行单条插入数据可以看到,执行结果如下:[SQL]...

2019-07-10 09:06:29 1579

原创 csv文件导入时"换行符"问题的解决思路

前提是数据是以"\t"分割,每个数据以"\""包裹,换行符为"\r\n"1.准备String dataApp = AppConstants.EMPTY;用来拼接字符串2.如果读取的数据中存在换行符,而此换行符是夹在某一条数据里的,则需要读取多次进行拼接处理        String appendFlagCheck = AppConstants.EMPTY;        dataAp...

2018-09-04 14:38:25 11352

转载 关于java中BufferedReader的read()及readLine()方法的使用心得

BufferedReader的readLine()方法是阻塞式的, 如果到达流末尾, 就返回null, 但如果client的socket末经关闭就销毁, 则会产生IO异常. 正常的方法就是使用socket.close()关闭不需要的socket. 从一个有若干行的文件中依次读取各行,处理后输出,如果用以下方法,则会出现除第一行外行首字符丢失现象String str  = null;b...

2018-08-31 10:36:11 776

转载 readLine()的注意点

我在做CSV文件导入导出时用了BufferedReader,用起来挺方便的。BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));String line ;while ((line = br.readLine())!=null){}readLine()用起...

2018-08-31 09:52:42 1331

转载 BOM含义

BOM的介绍在github上写md文件的时候,发现生成自己blog时,报出一个错误是让使用UTF-8编码,然后在Notepad++上把文件转成UTF-8时,发现菜单中有"UTF-8无BOM编码格式"。上网查了一下BOM的定义:byte order mark这个是为UTF-16和UTF-32准备的,用于标记字节序(byte order)。「UTF-8」和「带 BOM 的 UTF-8」的...

2018-08-31 09:46:37 528

转载 每日记录【LeetCode】596.超过5名学生的课

有一个courses表,有:student(学生)和class (课程)。请列出所有超过或等于5名学生的课。例如,表:用到的表和数据SQL:[sql] view plain copy-- ----------------------------  -- Table structure for `courses`  -- ----------------------------  DROP TABL...

2018-06-12 10:27:24 1130 3

转载 【Leetcode】Mysql查询第二高的薪水

编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。+—-+——–+ | Id | Salary | +—-+——–+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +—-+——–+ 例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。+———————+ | Sec...

2018-06-12 10:22:00 1273 1

转载 MyBatis中解决字段名与实体类属性名不相同的冲突

在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突。    一、准备演示需要使用的表和数据[sql] view plain copyCREATE TABLE orders(      order_id INT PRIMARY KEY AUTO_INCREMENT,      order_no VARCHA...

2018-06-11 10:18:00 220

转载 正则表达式归总

数字的正则表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、负数、和小数:^(\-|\+)?\d+(\.\...

2018-05-16 14:39:02 228

转载 大型网站架构之分布式消息队列

大型网站架构之分布式消息队列 以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。本次分享大纲消息队列概述消息队列应用场景消息中间件示例JMS消息服务常用消息队列参考(推荐)资料本次分享总结一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系...

2018-05-14 16:16:21 199

转载 MySQL数据库事务

数据库事务1、概念​ 执行批量操作时,这些操作作为一个整体,要么全部成功,要么全部失败。如银行转账,己方扣钱、对方加钱,这两个操作是一个整体,要么全部成功,要么全部失败。2、四大特性ACID原子性(Atomicity) 事务是一个不可再分割的工作单位,事务中的操作要么都发生,要么都不发生一致性(Consistency) 事务前后,数据关系一致、业务逻辑一致隔离性(Isolation) 一个事务所做...

2018-05-14 15:19:49 237

转载 跨域访问的解决方案(非HTML5的方法:JSONP)

2802人阅读跨域访问一直是困扰很多开发者的问题之一。因为涉及到安全性问题,所以跨域访问默认是不可以进行的,否则假设今天我写了一段js去更改google的图标,明天他写了一段代码去吧google首页的文字全部变成梵文,那还得了?首先,讲下什么是相同的域。域是这样定义的,协议名+host名+端口号,只有这3个都一样,才能说是同样的域,同样的域里面的访问不受到同源策略限制,你可以用你的js代码任意的去...

2018-05-14 13:13:52 484

转载 html5的postmessage实现js前端跨域訪问及调用解决方式

关于跨域訪问。使用JSONP的方法。我前面已经demo过了。详细见http://supercharles888.blog.51cto.com/609344/856886,HTML5提供了一个很强大的API。叫postMessage。它事实上就是曾经iframe的进化版本号,使用起来极其方便,这里举个实验样例:我们依然依照与上文同样的设定。假定我们有2个DomainDomain1: http://l...

2018-05-14 13:12:43 349

转载 chrome中iframe交互问题

环境:ie11,chrome43parent.html[html] view plain copy<html>  <head>  <script type="text/javascript">  function modiframe()  {      var ifr_doc = document.getElementById("iframe1").conten...

2018-05-14 13:10:56 1443

原创 算x在total中所占比例.

/** * 算x在total中所占比例. * @param x * @param total * @return */ public static String getPercentage(int x, int total) { return String.valueOf(Math.round(x * 100.0f / total)) + "%"; }

2018-04-19 16:43:31 203

原创 关于小数点处理

---------------关于小数点处理-----------------货币以及小数点处理避开使用float以及double, 用BigDecimal类来代替。使用BigDecimal类几点注意事项1. 比较相等时,不要使用equals() 而使用compareTo()   compareTo() 返回值: -1:小于 0:等于 1:大于2. BigDecimal 是不可变类。       ...

2018-04-19 16:38:47 347

转载 Java中关于 BigDecimal 的一个导致double精度损失的"bug"

主要说的是 double 转换到 BigDecimal 后,进行四舍五入得不到正确的结果:public class BigDecimalTest { public static void main(String[] args){ double d = 301353.05; BigDecimal decimal = new BigDecimal(d); ...

2018-04-19 16:37:49 202

转载 MySQL左连接/右连接/等值连接

1、三种连接的语法  为便于更多的技友快速读懂、理解,我们只讨论2张表对象进行连接操作的情况,大于2张表对象进行的连接操作原理也是一样的。  左连接(LEFT JOIN )SELECT M.columnname……,N.* columnname…..FROM left_table M LEFT JOIN right_table N ON M. columnname_join=N. columnna...

2018-04-08 14:52:56 216

转载 mybatis中的关联对象查询

方式1(嵌套查询):    在本类的mapper映射配置文件中的ResultMap标签中使用association子标签,对关联对象的属性进行关联    例如:User中关联Department(多对一)----------User的mapper映射配置文件---------<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE ma...

2018-04-08 14:34:12 975 1

转载 MyBatis——动态SQL讲解

MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。 MyBatis中用于实现动态SQL的元素主要有:ifwheresetchoose(when,otherwise)trimforeach1、if标签if标签可用在许多类型的sql语句中,我们以查询为例。首先看一个很普通的查询:<!-- 查询学生list,like姓名 --> <s...

2018-04-08 14:26:40 154

转载 Hibernate缓存原理是怎样的

Hibernate缓存包括两大类:Hibernate一级缓存和Hibernate二级缓存。1.Hibernate一级缓存又称为“Session的缓存”。Session内置不能被卸载,Session的缓存是事务范围的缓存(Session对象的生命周期通常对应一个数据库事务或者一个应用事务)。一级缓存中,持久化类的每个实例都具有唯一的OID。2.Hibernate二级缓存又称为“SessionFact...

2018-04-08 14:16:57 196

转载 【Java面试】Mybatis篇

1.MyBatis编程步骤是什么样的?① 创建SqlSessionFactory ② 通过SqlSessionFactory创建SqlSession ③ 通过sqlsession执行数据库操作 ④ 调用session.commit()提交事务 ⑤ 调用session.close()关闭会话2.Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签?&...

2018-04-08 13:53:03 298

转载 关于HTTP协议

HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于19...

2018-04-08 13:42:00 186

转载 Cookie和Session详解

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1  Cookie机制在程序中,会话跟踪是很重要的事情。...

2018-04-08 13:19:36 139

转载 SQL注入攻击原理以及基本方法

一、SQL注入的概述定义:SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。                                    为了更直观的让大家了解到sql注入的原理,贴上一张sql注入攻击示意图●SQL注入威...

2018-03-30 09:30:51 864

原创 XSS攻击原理与解决办法总结

概述XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列表,然后向联系人发送虚假诈骗信息,可以删除用户的日志等等,有时候还和其他攻击方式同时实施比如SQL注入攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼,它带来的危害是巨大的,是web安全的头号大敌。12...

2018-03-30 09:21:11 1347

转载 MySQL 中NULL和空值的区别

平时我们在使用MySQL的时候,对于MySQL中的NULL值和空值区别不能很好的理解。注意到NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效率的事情的发生。   问题 1: 首先,我们需要搞清楚 "空值" 和"NULL"的概念:    1:空值('')是不占用空间的    2: MySQL中的NULL其实是占用空间的。官方文档说明:“NU...

2018-03-30 09:01:43 325

转载 前端框架Foundation格子系统自学总结

网址:https://foundation.zurb.comhttp://www.runoob.com/foundation/foundation-buttons.htmlFoundation 用于开发响应式的 HTML, CSS and JavaScript 框架。Foundation 是一个易用、强大而且灵活的框架,用于构建基于任何设备上的 Web 应用。Foundation 是一个以移动优先...

2018-03-23 15:24:47 576

转载 java后台对前端输入的特殊字符进行转义

HTML:常见的帮助类有2个:一个是spring的HtmlUtils,另外一个是apache.commons下的StringEscapeUtils 1 public static void testHtml(){ 2 String str = "<a href='http://www.qq.com'>QQ</a><script>"; 3 /*...

2018-03-15 13:25:19 2805

转载 JS对HTML字符的转义和反转义

首先,奉上工具类:<script>var HtmlUtil = { /*1.用浏览器内部转换器实现html转码*/ htmlEncode:function (html){ //1.首先动态创建一个容器标签元素,如DIV var temp = document.createElement ("div");...

2018-03-15 13:19:24 478

转载 Freemarker 内置函数 数字、字符串、日期格式化、转义

一、  Sequence的内置函数1.  sequence?first 返回sequence的第一个值。2.  sequence?last  返回sequence的最后一个值。3.  sequence?reverse 将sequence的现有顺序反转,即倒序排序4.  sequence?size    返回sequence的大小5.  sequence?sort    将sequence中的对象转...

2018-03-14 16:35:48 815

转载 mysql中case..when..then..else..end的两种用法介绍

CASE命令有两种语句格式。语法形式1:CASE expression            WHEN expression_11 THEN expression_12             …            WHEN expression_n1 THEN expression_n2            [ELSE expression_m]            END该语句的执行过...

2018-03-13 17:39:06 698

转载 75道程序员面试逻辑思维题

【1】假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。答案:【1】1、先把5升的灌满,倒在6升里,这时6升的壶里有5升水2.再把5升的灌满,用5升的壶把6升的灌满,这时5升的壶里剩4升水3.把6升的水倒掉,再把5升壶里剩余的水倒入6升的壶里,这时6升的壶里有4升水4.把5升壶灌满,倒入6升的壶,5-2=3【2】周雯的妈妈是豫林水...

2018-03-12 17:13:28 886

转载 JDBC到Mybatis

1.引言本文主要讲解JDBC怎么演变到Mybatis的渐变过程,重点讲解了为什么要将JDBC封装成Mybaits这样一个持久层框架。再而论述Mybatis作为一个数据持久层框架本身有待改进之处。  2.JDBC实现查询分析我们先看看我们最熟悉也是最基础的通过JDBC查询数据库数据,一般需要以下七个步骤:(1)  加载JDBC驱动(2)  建立并获取数据库连接(3)  创建 JDBC Stateme...

2018-03-12 11:45:22 233

转载 八大排序原理

概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。        当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。   快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间...

2018-03-12 11:22:36 408

转载 java面试基础篇

1、给一段java程序写出程序的输出结果(考点:类的执行顺序,赋值顺序,继承) 执行顺序: 1. 父类静态块 2. 自身静态块 3. 父类块 4. 父类构造器 5. 自身块 6. 自身构造器 赋值顺序为(与执行顺序相关联): 1. 父类的静态变量赋值 2. 自身的静态变量赋值 3. 父类成员变量赋值 4. 父类块赋值 5. 父类构造器赋值 6. 自身成员变量赋值 7. 自身块赋值 8. 自身构造器...

2018-03-12 11:19:05 239

转载 java面试web篇

1、forward和redirect的区别 1.从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址. redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL. 2.从数据共享来说 f...

2018-03-12 11:17:26 277

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除