学习日记
文章平均质量分 77
铁憨憨的学习记录
越努力,越幸运,加油
展开
-
前缀、中缀、后缀表达式
前缀、中缀、后缀表达式前缀、中缀、后缀表达式是对表达式的不同记法,其区别在于运算符相对于操作数的位置不同,前缀表达式的运算符位于操作数之前,中缀和后缀同理举例:中缀表达式:1 + (2 + 3) × 4 - 5前缀表达式:- + 1 × + 2 3 4 5后缀表达式:1 2 3 + 4 × + 5 -中缀表达式中缀表达式是一种通用的算术或逻辑公式表示方法,操作符以中缀形式处于操作数的中间。中缀表达式是人们常用的算术表示方法。虽然人的大脑很容易理解与分析中缀表达式,但对计算机来说中缀表转载 2021-01-13 20:44:27 · 768 阅读 · 0 评论 -
用eclipse出现:error:A JNI error has occurred, please check your installation and try again
今天用eclipse写代码出现了这个错误:Error: A JNI error has occurred, please check your installation and try againException in thread "main"造成的原因是:自己定义的包路径以java开头造成。java的类加载器在加载文件时,之前已经加载了以java开头的包路径,也就是rt.jar里面的内容。为了安全,会阻止自定义的包名以java开头。解决方法:改变包的名即可...原创 2020-05-10 23:39:33 · 1585 阅读 · 0 评论 -
vim插入模式小技巧
插入模式下删除字符当在vim的插入模式下是,想要删除字符一般是使用Backspace键或者进入普通模式来进行操作,实际上还可以使用Ctrl-w来删除光标的前一个单词,使用Ctrl+u可以一直删除到行首,使用Ctrl-h删除光标前一个字符。这几个快捷键不仅仅是可以在vim的插入模式下使用。在vim的命令模式下以及bash中都同样可以使用。插入普通模式vim插入模式中只能用于键入...转载 2020-04-03 22:20:26 · 1709 阅读 · 0 评论 -
MySql学习(三)DDL常见操作
环境:mysql5.7.25,cmd命令中进行演示。DDL:Data Define Language数据定义语言,主要用来对数据库、表进行一些管理操作。如:建库、删库、建表、修改表、删除表、对列的增删改等等。文中涉及到的语法用[]包含的内容属于可选项,下面做详细说明。库的管理创建库:create database [if not exists] 库名;删除库d...转载 2019-11-19 15:13:39 · 363 阅读 · 0 评论 -
JSON Web Token的学习
一、跨域认证的问题 互联网服务离不开用户认证。一般流程是下面这样。1、用户向服务器发送用户名和密码。2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。3、服务器向用户返回一个 session_id,写入用户的 Cookie。4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。5...转载 2019-02-25 16:26:12 · 147 阅读 · 0 评论 -
关于数据库索引的新认识
使用索引很简单,只要能写创建表的语句,就肯定能写创建索引的语句,要知道这个世界上是不存在不会创建表的服务器端程序员的。然而, 会使用索引是一回事, 而深入理解索引原理又能恰到好处使用索引又是另一回事,这完全是两个天差地别的境界(我自己也还没有达到这层境界)。很大一部份程序员对索引的了解仅限于到“加索引能使查询变快”这个概念为止。 为什么要给表加上主键? 为什么加索引后会使查询变快?...转载 2018-12-26 20:30:26 · 151 阅读 · 0 评论 -
关于svn update 没有效果 ; svn update 无法覆盖本地文件的问题
一般情况下公司里的所有人都会叫你在别人修改完成时,使用update来将版本库的代码同步进来。这没有错。但是用过github的人都不是很理解这个命令,因为在git中有commit + push和checkout + pull来分别提交和下拉版本库,而自己的文档一般都是在分支下完成。!此时如果初学者,例如我,单纯地把update理解为checkout的话(实际上用法很类似!!),你将付...转载 2018-12-14 14:03:50 · 5550 阅读 · 0 评论 -
Java 程序员必备的 15 个框架!
1.Spring毫无疑问,Spring 框架现在是 Java 后端框架家族里面最强大的一个,其拥有 IOC 和 AOP 两大利器,大大简化了软件开发复杂性。并且,Spring 现在能与所有主流开发框架集成,可谓是一个万能框架,Spring 让 JAVA 开发变得更多简单。官网:https://spring.io/projects/spring-framework源码:ht...转载 2018-12-07 19:12:52 · 211 阅读 · 0 评论 -
java 中关于String的 replace和replaceAll
replace和replaceAll是JAVA中常用的替换字符的方法。下面我们来看看他们的区别:直接上代码:用replace替换public class ww { public static void main(String[] args) { String classFile = "com.jd.beijing". replace(".", "/") + "M...原创 2018-12-05 10:57:39 · 8982 阅读 · 0 评论 -
通过eclipse的svn资源库添加的项目,没有Java Build Path,无法添加jre和jar包。
网上找了好多教程都没有解决,亲测下面的方法可行。 首先通过ctrl+shilt+R 快捷键,查找.project文件,并在文件里面添加下面的代码:<natures> <nature>org.eclipse.jdt.core.javanature</nature> </natures>natures是标志...原创 2018-11-16 14:27:18 · 1985 阅读 · 1 评论 -
hibernate学习
一。 (级联)关系 1)。cascade 及联 all: 所有情况下均进行关联操作,即save-update和delete。 none: 所有情况下均不进行关联操作。这是默认值。 save-update: 在执行save/update/saveOrUpdate时进行关联操作。 delete: ...原创 2018-09-12 16:55:03 · 104 阅读 · 0 评论 -
Java反射机制getModifiers()方法的作用
JAVA 反射机制中,Field的getModifiers()方法返回int类型值表示该字段的修饰符。其中,该修饰符是java.lang.reflect.Modifier的静态属性。对应表如下:PUBLIC: 1PRIVATE: 2PROTECTED: 4STATIC: 8FINAL: 16SYNCHRONIZED: 32VOLATILE: 64TRANSIENT: 12...转载 2018-09-03 17:08:58 · 13617 阅读 · 1 评论 -
关于HashSet是无序的个人理解
首先看下面两篇博客:https://blog.csdn.net/snail_rao/article/details/7341315https://blog.csdn.net/qq_24251323/article/details/52748398这两篇博客都有自己的理解,结合一下,可以总结有如下情况: (1)、当输入的值大小和底层数组大小差不多的时候,HashSet的输入顺序是...原创 2018-08-29 16:47:59 · 3719 阅读 · 0 评论 -
Java设计模式之Builder模式
在《Effective Java 第2版》中有提到,遇到多个构造器参数时要考虑使用构建器(Builder模式)。相比于重叠构造器(telescoping constructor)模式和JavaBeans模式,Builder模式实现的对象更利于使用。 下面从一个Person例子进行分析以上三种设计模式的使用,Person类有两个必要参数(id和name),有5个可选参数(age...转载 2018-12-11 10:33:02 · 138 阅读 · 0 评论 -
Cannot load supported formats: Cannot run program "svn": CreateProcess error=2
原因是SVN使用了命令行工具,如果本地没有SVN的命令行工具,则导致出错。解决办法:1、重新安装SVN客户端 安装TortoiseSVN客户端时,必须选中command line client tools这个选项。于是小编就悄悄的卸载之后又重装了。如图: 然后选中第一项Will be installed on local h...转载 2018-12-24 11:06:37 · 1268 阅读 · 3 评论 -
cmd命令行设置代理的问题
cmd命令行设置代理的问题:set http_proxy=http://172.16.9.20:8088 set https_proxy=http://172.16.9.20:8088 身份验证:set http_proxy_user=guanqpset http_proxy_pass=stan123清除代理设置用:npm config rm proxynpm confi...原创 2019-01-07 14:17:38 · 4514 阅读 · 0 评论 -
匿名内部类详解
匿名内部类总结:定义:匿名内部类也就是没有名字的内部类好处:正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口实例1:不使用匿名内部类来实现抽象方法abstract class Person { public abstract void eat();}class Child exte...转载 2019-08-26 15:30:22 · 216 阅读 · 0 评论 -
JDK、JRE、JVM三者间的关系
文章出处:http://playkid.blog.163.com/blog/static/56287260201372113842153/ JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集...转载 2019-06-18 09:52:38 · 94 阅读 · 0 评论 -
TCP状态转化详解
我们都知道tcp是如何建立连接的,如下图所示,TCP通信过程包括三个步骤:建立TCP连接通道(三次握手)、数据传输、断开TCP连接通道(四次挥手)。 这里进一步探究TCP三路握手和四次挥手过程中的状态变迁以及数据传输过程。先看TCP状态状态转换图。 上半部分是TCP三路握手过程的状态变迁,下半部分是TCP四次挥手过程的状...转载 2019-06-21 17:17:49 · 163 阅读 · 0 评论 -
Java的强引用,软引用,弱引用,虚引用及其使用场景
从 JDK1.2 版本开始,Java 把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。1、强引用(Strong Reference)强引用就是我们经常使用的引用,其写法如下:Object o = new Object();只要还有强引用指向一个对象,垃圾收集器就不会回收这个对象;显式地设置 o 为 nu...转载 2019-06-17 15:49:01 · 1123 阅读 · 0 评论 -
确保 Web 安全的 HTTPS
在 HTTP 协议中有可能存在信息窃听或身份伪装等安全问题。使用 HTTPS 通信机制可以有效地防止这些问题。先谈谈http的缺点: 通信使用明文,不进行加密,内容可能被窃听 不验证通信方身份,因此可能遭遇伪装 无法证明报文,可能会被篡改TCP/IP 是可能被窃听的网络如果要问为什么通信时不加密是一个缺点,这是因为,按TCP/IP 协议族的工作机制,通信内容在...原创 2019-06-04 18:12:52 · 261 阅读 · 0 评论 -
Linux文件权限的学习以及如何修改权限
用户权限在Windows操作系统里也不陌生,但是Linux操作系统的用户权限和文件权限要比Windows操作系统里严格有效。比较明显的一个案例就是,即便是你在Windows操作系统里设置了多用户,但是不同的用户之间通过一定的方式,还是能够互访文件的,这就失去了权限的意义。LINUX文件权限针对的对象分三类(互斥的关系):user(文件的拥有者) group(文件拥有者所在的组,但不包括us...转载 2019-05-21 17:04:24 · 166 阅读 · 0 评论 -
Spring无法注入Static变量的原因及Spring注入静态变量
spring不能注入static变量的原因: Spring 依赖注入 是依赖 set方法 set方法是 是普通的对象方法 static变量是类的属性所以下面这种方式注入静态的变量是会报空指针异常的。spring 中如何注入静态变量: 1.xml方式实现:<bean id="mongoFileOperationUtil" ...原创 2019-04-18 20:55:11 · 4461 阅读 · 7 评论 -
分布式系统和集群系统之间的区别
先来看看网上最常见的例子: 如果一个任务有十个子任务组成,每个子任务单独执行需要一个小时,则在一台服务器上执行改任务需10小时。 采用分布式方案: 提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。 而采用集群方案: 同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个...转载 2019-04-14 21:22:33 · 3179 阅读 · 0 评论 -
简单了解一下Eureka自我保护和心跳
Eureka的自我保护: 一句话:某时刻某一个微服务不可用了,Eureka不会立即清理,依旧会对微服务的信息进行保护。导致原因:对于心跳的问题:启动两个Eureka Client,过了一会,停了其中一个,访问注册中心时,界面上显示了红色粗体警告信息:EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCE...原创 2019-02-28 11:27:39 · 1098 阅读 · 0 评论 -
Java中==和equals的区别,equals和hashCode的区别
在java中:==是运算符,用于比较两个变量是否相等。equals,是Objec类的方法,用于比较两个对象是否相等,默认Object类的equals方法是比较两个对象的地址,跟==的结果一样。Object的equals方法如下: public boolean equals(Object obj) { return (this == obj); }h...转载 2018-08-21 22:19:35 · 116 阅读 · 0 评论 -
Java中Integer类型的整数值的大小比较
如果比较两个数值相等的Integer类型的整数,我们可能会发现,用“==”比较(首先你必须明确“==”比较的是地址),有的时候返回true,而有的时候,返回false。比如:Integer i = 128;Integer j = 128;System.out.println(i == j);//返回false然而:Integer m = 127;Integ...转载 2018-08-21 21:58:15 · 43579 阅读 · 3 评论 -
Java中short a=1;a=a+1和a+=1的区别及+=的类型转换
对于short a=1; a=a+1; 由于a+1运算时会自动提升表达式的类型,也即int类型,再将结果赋值给short类型的a时,类型会不匹配;对于short a=1; a+=1; java编译器会对+=进行特殊处理,进行了类型转换,通过反编译.class源码可以看到a+=1被编译为:a=(short) (a+1)short a=1;a=a+1; //类型不兼容,报错,int类...原创 2018-08-02 21:01:23 · 1257 阅读 · 1 评论 -
Java中HashMap的实现原理
一、Java中的hashCode和equals1、关于hashCodehashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储结构中确定对象的存储地址的 如果两个对象相同,就是适用于equals(java.lang.Object) 方法,那么这两个对象的hashCode一定要相同 如果对象的equals方法被重写,那么对象的...转载 2018-08-11 22:26:13 · 150 阅读 · 0 评论 -
Java集合常见面试题(一)
集合和数组的区别:1:数组是固定长度的;集合可变长度的。2:数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。3:数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。1.ArrayList和LinkedList的区别ArrayList(数组结构): 优点:get和set调用花费常数时间,也就是查询的速度快; ...原创 2018-08-11 20:25:08 · 14897 阅读 · 3 评论 -
Java集合复习笔记
先来看看集合体系框架图: 1、Collection (集合的最大接口)继承关系 ——List 可以存放重复的内容,有序 ——Set 不能存放重复的内容,所以的重复内容靠hashCode()和equals()两个方法区分,无序 ——Queue 队列接口, ——SortedSet 可以对集合中的数据进行排序...原创 2018-08-11 14:15:14 · 343 阅读 · 0 评论 -
Mysql 的引擎类型MyISAM、InnoDB介绍及变更
nnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。一、基本的差别为:1、MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。2、MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。3、InnoDB不支持FULLTEXT类型...转载 2018-07-27 11:25:04 · 134 阅读 · 0 评论 -
ssm批量删除总结
先从Mapper.xml里面开始写:然后在mapper.java中写接口业务逻辑层的接口太简单就不写了,直接写实现层 :@Override public int deletePartlyByID(Integer[] arr) { if(arr!=null&&arr.length>0) { return pro...原创 2018-07-19 17:58:41 · 1178 阅读 · 0 评论 -
tomcat启动startup.bat一闪而过的问题解决
遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配置才是正确的,现在从网上查阅的资料整理如下:tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,CATALINA_HOME即tomcat的主目录,JAVA_HOME即java安装的主目录,jdk的主目录。首先,要在环境变量处,配置JAVA_HOME,...转载 2018-07-24 09:58:54 · 1541 阅读 · 0 评论 -
jQuery常见面试题
问题:jQuery的美元符号$有什么作用?回答:其实美元符号$只是”jQuery”的别名,它是jQuery的选择器,如下代码:$(document).ready(function(){});当然你也可以用jQuery来代替$,如下代码:jQuery(document).ready(function(){});jQuery中就是通过这个美元符号来实现各种灵活的DOM元...转载 2018-07-23 11:21:34 · 188 阅读 · 0 评论 -
学习笔记
非关系型数据库:没有主外键的关系,没有事务处理机制Nosql MongoDB 文档型数据库HBase 列存储式数据库Redis 内存中数据库springMVC的底层原理: (1)、地址栏回车请求 (2)、执行SpringMVC前端控制DispatcherServlet (3)、查找SpringMVC-servlet.xml文件里面的配置,现在一般是使用注解实现 (4)、根据地址映射去找对应...原创 2018-07-10 17:44:13 · 136 阅读 · 0 评论 -
2018-6-19(linux和oracle的安装)
首先是安装linux,选择第三个文件进行安装。 安装完后,需要解压第二个解压包,得到验证码,进行验证就好了。原创 2018-06-20 22:25:07 · 469 阅读 · 0 评论 -
2018-6-29 springMvc与mybatis整合初步接触
第一步我们要完成我们的数据访问层(就是MyBatis要完成的东西) 1、首先要保证我们的访问的数据库能连接上,我们需要配置自己的database.propreties文件:(红色字体部分需要注意,要访问的是自己的数据库,自己的服务器名称,用户名和密码也要是自己的)driver=oracle.jdbc.driver.OracleDriverurl=jdbc:oracle:thin:@10....原创 2018-06-29 19:48:42 · 143 阅读 · 0 评论 -
this,static,final的用法
一、this 用类名定义一个变量的时候,定义的应该只是一个引用,外面可以通过这个引用来访问这个类里面的属性和方法,那们类里面是够也应该有一个引用来访问自己的属性和方法纳?JAVA提供了一个很好的东西,就是 this 对象,它可以在类里面来引用这个类的属性和方法。 Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配...原创 2018-08-02 22:39:49 · 188 阅读 · 0 评论 -
Java基础学习IO总结1
1、File类常用方法及应用创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false。mkdir() 在指定位置创建一个单级文件夹。mkdirs() 在指定位置创建一个多级文件夹。renameTo(File dest)如果目标文件与源文件是在同一个路径下,那么renameTo的作用是重命名, 如果目标文件与源文件不是在...原创 2018-08-03 09:35:33 · 133 阅读 · 0 评论