自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 Fingerprintjs2设备指纹采集器笔记

1.下载方式CDN: //cdn.jsdelivr.net/npm/fingerprintjs2@/dist/fingerprint2.min.js or https://cdnjs.com/libraries/fingerprintjs2Bower: bower install fingerprintjs2NPM: npm install fingerprintjs2Yarn: yar...

2019-01-28 10:05:46 13624 2

原创 Structs2 框架笔记(三)类型转换器、数据验证及拦截器

类型转换器1. 自动类型转换 Struts2内置了一些类型转换器,可以由String类型转换为相应类型int/Integerlong/Longfloat/Floatdouble/Doublechar/Characterboolean/BooleanDate:可以接受yyyy-MM-dd HH:mm:ss格式字符串数组Map/List2.自定义类型转换器 ①定义...

2018-08-06 21:48:33 270

原创 Structs2 框架笔记(二)值栈与OGNL的常用操作

概念1. 值栈(ValueStack) 在用户提交一个请求后,系统会创建两个对象,Action的实例和值栈对象,值栈由两部分组成:CompoundRoot root; //对象栈(根元素),数据结构意义上的栈实现的transient Map< String,Object > context; //Map栈(上下文),是一个Map结构引用其他博主的图更容易理解,详细见...

2018-08-06 21:09:42 290

原创 Structs2 框架笔记(一)配置文件及struts.xml常用配置

部分摘自授课教师笔记,侵删。6个配置文件1. struts-default.xml 位置:struts2-core-2.2.1.jar!struts-default.xml 作用:默认的核心配置文件,定义了11种返回类型,35种拦截器及拦截器栈,及默认拦截器栈。2. default.properties 位置:struts2-core-2.2.1.jar!org/apache/s...

2018-08-06 19:23:34 341

原创 AJAX笔记

以下内容摘自授课老师笔记,侵删.概念Asynchronous JavaScript And XML . 指异步JavaScript 及XML,在浏览器和web服务器之间使用异步数据传输(http请求),实现局部刷新页面的功能兼容性兼容各种浏览器获取XMLHttpRequest对象function getXMLHttpRequest(){ if(window.X...

2018-08-03 18:19:37 103

原创 JSP的内置对象

含义内置对象:在JSP页面无需声明可以直接使用的对象1. outout对象用于在Web浏览器输出信息,相当于在JSP页面直接打印文本。输出时可以对数据缓冲区进行操作out.print(“hello”);//输出各类型数据out.clear()// 清除缓冲区的内容**2.configJSP向Servlet初始化时传递信息的对象,信息包括Servlet初始化的参...

2018-07-30 13:55:13 198

原创 JDBC笔记(封装DBFactory)

jdbc提供的常用的接口和类DriverManager:驱动程序管理器,主要用来获得与数据库的连接,常用getConnection(url,username,password),返回一个Connection对象。Connection:表示与数据库的连接,主要用于获取执行SQL语句的预置语句对象PrepareStatement。PrepareStatement:预置语句执行体,主要用于执行...

2018-07-28 13:22:35 982

原创 HashMap的三种遍历方式

三种遍历方式1.利用键的Set集合; 2.利用值的集合遍历所有value; 3.通过entry对象存储每一次的键和值(效率最高)package com.sy.jdkco;import java.util.ArrayList;import java.util.Collection;import java.util.HashMap;import java.util.Itera...

2018-07-20 08:48:08 1865

原创 快速排序-java

思路简单来,快速排序有以下几步: 1.确定数组中任意一个值作为key值,用于比较,一般用第一个值(例如数组{5,4,6,3,2,7},令key=5);2.从数组的起始点以及终点开始分别交替进行比较,即先从右向左找第一个比key小的值,与key的位置对换,并记录当前这个值的位置low(low=0,hight=4,key=5,交换后{2,4,6,3,5,7});3.换了一次之后开始从左往...

2018-07-18 15:54:45 153

原创 二进制中1的个数 剑指offer java题解

二进制中1的个数时间限制:1秒 空间限制:32768K 热度指数:233498题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。有三种方法:1.利用java内置函数将整数转换成二进制字符串,再计算字符串中1的个数2.利用位运算特点n&(n-1)会将二进制最右的1消掉的原理,能做多少次这样的与运算就有几个1,直到0为止3.无符号数右移,将该...

2018-07-04 15:28:33 226

原创 ECMAScript 6学习笔记(七)对象的扩展

对象的扩展1.属性的简洁表示法ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。const foo = 'bar';const baz = {foo};baz // {foo: "bar"}// 等同于const baz = {foo: foo};2.属性名表达式ES6 允许字面量定义对象时,用(表达式)作为对象的属性名,即把表达式

2018-01-17 16:36:54 185

原创 ECMAScript 6学习笔记(六)数组的扩展

数组的扩展1.扩展运算符含义 扩展运算符(spread)是三个点(…)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。该运算符主要用于函数调用function add(x, y) { return x + y;}const numbers = [4, 38];add(...numbers) // 42替代函数的 apply 方法 由于扩

2018-01-17 13:51:11 238

原创 ECMAScript 6学习笔记(五)函数的扩展

函数的扩展1.函数参数的默认值ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。function log(x, y = 'World') { console.log(x, y);}log('Hello') // Hello Worldlog('Hello', 'China') // Hello Chinalog('Hello', '') // Hell

2018-01-17 10:55:50 228

原创 ECMAScript 6学习笔记(四)数值的扩展

数值的扩展1.ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。2.Number.isFinite() , Number.isNaN() Number.isFinite()用来检查一个数值是否为有限的(finite)。 Number.isNaN()用来检查一个值是否为NaN。而这两个新方法只对数值有效,Number.isFinite()

2018-01-16 11:35:25 248

原创 ECMAScript 6学习笔记(三)正则的扩展

正则的扩展1.RegExp 构造函数 ES6 改变了ES5 不允许此时使用第二个参数添加修饰符这种行为,如果RegExp构造函数第一个参数是一个正则对象,那么可以使用第二个参数指定修饰符。而且,返回的正则表达式会忽略原有的正则表达式的修饰符,只使用新指定的修饰符。2.字符串的正则方法 字符串对象共有 4 个方法,可以使用正则表达式:match()、replace()、sear

2018-01-12 17:33:54 260

原创 ECMAScript 6学习笔记(二)字符串的扩展

字符串的扩展1.将码点放入大括号,就能正确解读该字符 JavaScript 允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点。但只限于码点在\u0000~\uFFFF之间的字符。超出这个范围的字符,必须用两个双字节的形式表示。但现在只要将码点放入大括号,就能正确解读该字符。2.codePointAt() ES6 提供了codePointAt方法,能够正

2018-01-12 16:26:10 223

原创 ECMAScript 6学习笔记(一)let、const、变量的结构赋值

以下笔记为学习《ECMAScript入门》的摘抄笔记let命令类似var,但所声明的变量,只在let命令所在的代码块内有效,适合for循环计数器。它所声明的变量一定要在声明后使用,否则报错。let不允许在相同作用域内,重复声明同一个变量。块级作用域ES6 允许块级作用域的任意嵌套。外层作用域无法读取内层作用域的变量。内层作用域可以定义外层作用域的同名变量。

2018-01-12 13:59:15 214

原创 JavaScript基础学习笔记(四) ---面向对象的程序设计

理解对象创建自定义对象的最简单方式就是创建一个Object 的实例,然后再为它添加属性和方法var person = new Object();person.name = "Nicholas";person.age = 29;person.job = "Software Engineer";person.sayName = function(){alert(this.name);

2018-01-11 16:48:27 236

原创 JavaScript基础学习笔记(三)---引用类型

Object类型创建object实例方式有两种var person = new Object();person.name = "Nicholas";person.age = 29;//对象字面量表示法var person = {name : "Nicholas",age : 29};两种访问对象属性的方法alert(person["name"]);

2018-01-11 13:44:01 186

原创 JavaScript基础学习笔记(二)--- 变量、作用域和内存问题

基本类型和引用类型复制基本类型变量时创建一个副本,完全独立复制引用类型变量时复制的是指针地址,实际上指向同一个对象传递参数按值传递,与变量复制原理相同检测类型instanceof //判断指定对象是什么类型的对象 alert(person instanceof Object); // 变量person 是Object 吗?alert(colors instanceof

2018-01-11 11:23:43 207

原创 JavaScript 基础学习笔记(一)---基本概念

基本概念ECMAScript 中的基本数据类型包括Undefined、Null、Boolean、Number 和String。 与其他语言不同,ECMScript 没有为整数和浮点数值分别定义不同的数据类型,Number 类型可用于表示所有数值 ECMAScript 中也有一种复杂的数据类型,即Object 类型,该类型是这门语言中所有对象的基础类型严格模式为这门语言中容易出错的地方施

2018-01-11 11:01:36 250

原创 oracle基础笔记-常用命令

登录登录名/密码(不区分大小写)connect 用户/用户名数据字典: dba_tablespaces 针对系统管理员级别 user_tablespaces 针对普通用户查看 dba_users 针对系统管理员 user_users 针对普通用户常用命令-系统命令获取当前系统日期 sysdate 显示当前用户 sho

2017-12-21 15:46:53 210

原创 Linux与windows文件共享ssh安装配置使用

文件共享方法Linux与windows之间的其他共享方法可参考: http://www.cnblogs.com/dingyingsi/archive/2013/04/16/3023392.html 这里记录一下ssh工具共享的方法第一步下载安装工具 http://download.csdn.net/detail/wentasy/4707302第二步直接运行安装,安装完成后桌面上会出现这两个

2017-07-17 15:38:27 1401

原创 Linux常用命令清单

对一些常用命令的简要记录,有一些别人的详解的网址链接一、快捷键ctrl+a 回到命令开始 ctrl+e 回到…最后 ctrl+c 中止 ctrl+z 暂停某个程序 ctrl+r 在历史记录中搜索命令(模糊匹配) tab键 自定补全二、通配符?匹配任意一个字符 *匹配任意多个字符 [0-9] 匹配0到9的任意一个数字 [abc] 匹配列表里任意一个字符 [^abc] 匹配列表以外的

2017-07-16 19:12:05 341

原创 Linux系统目录结构及启动过程

目录大致结构图如下: 1. /根目录 我理解为最底层的目录,是每一个文件的开始,一般只存放目录不存放文件。只有root用户具有该目录下的写权限2. /bin用户二进制文件 放置在单人维护模式下还能够被操作的指令。如:cat,chmod(修改权限), chown, date, mv, mkdir, cp, bash,ps,ls,ping,grep等等。3./boot引导加载程序相关的文

2017-07-16 17:31:04 578

原创 算法练习 表达式计算(java)

思路描述:这道题其实很简单,用栈实现,在学习数据结构的时候是很经典的例子。创建两个栈,数字栈和符号栈,将字符串的字符一个一个进行判断,如果是数字就进数字栈,如果是符号就先与符号栈栈顶的符号比较优先级,优先级更大就进栈,更小或相等就先把栈内符号出栈进行运算(运算时数字栈出栈两个数),再将当前符号进栈。直到字符串判别完成再进行符号栈的检查看是否为空,不为空就可以一次出栈进行运算(因为符号栈内的符号已经

2017-03-25 17:11:08 3873 4

原创 problem-2037 今年暑假不AC (java)

这道题的难点在于使用怎样的方法挑选出我们可以观看的节目,一般人都会想到先排序,然后再寻找下一个满足开始时间大于等于当前节目的结束时间的节目。但当我们一步一步实现时就会发现很多难点。首先,排序 每个节目的开始时间和结束时间应该是绑定在一起的,所以我们应该创建一个节目类,然后在创建这样的对象数组,实现对象整体的存取。那么,怎么使ArrayList实现按照对象的某个属性值来排序呢,于是我百度了一下,是让

2016-11-12 23:02:18 481

原创 Problem-2036 改革春风吹满地(java)

我认为这道题有三个难点:1.怎样更加简便的实现点的存取,我们可以将点设计成一个类; 2.怎样算多边形的面积,我采用的是海伦公式; 3.一般人都会想到将多边形分成三角形来将面积求和,这里的难点就是要注意这并不是一个规则的多边形,所以要考虑多边形的凹凸性,我采用了判断斜率大小的方法来判断当前所计算的三角形的面积是否是多边形的一部分,即判断它的凹凸性。修改多次,最终AC了,新手所以代码不够简洁。i

2016-11-11 17:26:38 462

原创 初涉java(io编程)

需引入包java.io.*;java流的分类①按流向分:输入流: 程序可以从中读取数据的流。【数据从数据源(文件)到程序(内存)的路径】 输出流: 程序能向其中写入数据的流。【数据从程序(内存)到数据源(文件)的路径】②按数据传输单位分:字节流: 以字节为单位传输数据的流(可以用于读写二进制文件及任何类型的文件)字符流: 以字符为单位传输数据的流(可以用于读写文本文件,不能操作二进制文件) ③按

2016-09-20 21:06:58 308

原创 初涉java(线程)

线程的特点①线程是轻量级进程。 ②线程没有独立的地址空间(内存空间),在同一进程中的各个线程,都可以共享该进程所拥有的资源,这首先表现在:所有线程都具有相同的地址空间(进程的地址空间)。 ③线程由进程创建,是独立调度和分派的基本单位。 ④一个进程可以拥有多个线程,一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行;同样,不同进程中的线程也能并发执行。 ⑤线程的几

2016-09-14 15:18:34 92

原创 初涉java(swing常用组件及绘图原理)

swingSwing是一个用于开发Java应用程序用户界面的开发工具包。需引入包import javax.swing.*;顶层容器图形界面至少要有一个顶级Swing容器,顶级Swing容器为其它Swing组件在屏幕上的绘制和处理事件提供支持 常用的顶级容器: JFrame(框架):表示主程序窗口 JDialog(对话框):每个JDialog对象表示一个对话框,对话框属于二级窗口 常用的几种组件

2016-09-06 20:53:28 2448

原创 初涉java(集合类)

需引入包 java.util.*;该篇只是对java集合类的一些常用方法进行记录摘抄,方便日后理解运用,并没有对其原理进行深究,初涉这方面的知识,归结的比较杂乱,望谅解一.集合类的关系二.主要的集合类1.List结构的集合类①.ArrayList类(动态数组)

2016-08-08 11:19:20 406

原创 初涉java(事件处理与事件监听)

一.事件处理1.事件处理机制事件类型2.鼠标和键盘事件(其余查询JDK帮助文档)二.实现事件监听的步骤

2016-08-05 21:39:56 486

原创 C++虚函数与函数的执行顺序

虚函数与纯虚函数的区别,虚函数与一般函数的执行顺序的先后,根据几道例题来分析理解

2016-05-28 17:26:53 5343

原创 C语言的未定义行为(undefined behaviour)

什么是未定义行为简单地说,未定义行为是指C语言标准未做规定的行为。编译器可能不会报错,但是这些行为编译器会自行处理,所以不同的编译器会出现不同的结果,什么都有可能发生,这是一个极大的隐患,所以我们应该尽量避免这种情况的发生。特征包含多个不确定的副作用的代码的行为总是被认为未定义。(简单而言, “多个不确定副作用” 是指在同一个表达式中使用导致同一对象修改两次或修改以后 又被引用的自增, 自减

2016-05-15 11:21:03 24058 2

原创 常见简单排序算法(选择,冒泡,插入)

选择排序,冒泡排序,插入排序

2016-04-19 18:38:43 524 1

原创 数组指针和指针数组

数组指针通俗的理解,就是指向数组的指针。其本质是一个指针。 1.如: int *p; int a[3][4]; p=a; 我们可以先声明一个指针,让他指向一个数组,则这个指针就是数组指针(该指针指向的地址可以改变)。另外,在这里,数组名本身也是一个数组指针,指向数组的首地址(而数组名指向的地址是常量,只能是数组的首地址)。 2.如: int (*p)[4]; 是指声明一个指向4个

2016-04-19 16:12:20 345

原创 C语言中的隐式转换

C语言规定,不同类型的数据需要转换成同一类型后才可进行计算。相同类型之间:1.字符必须先转换为整数 2.short型转换成int型 3.float转换成double,以提高运算精度 4.赋值时,一律右部值转换成左部类型不同类型之间:1.当整型数据和双精度数据进行运算时,则先将整型数据转换成双精度类型,再进行运算,结果为双精度型数据。 2.当字符型数据和实型数据进行运算时,则先将字符型数据转换

2016-04-18 18:10:03 602

原创 大端机和小端机

大端机和小端机

2016-04-18 17:34:08 3104

原创 原码补码反码以及位运算符

原码,反码,补码,位运算符

2016-04-18 16:12:50 1806

空空如也

空空如也

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

TA关注的人

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