- 博客(29)
- 资源 (4)
- 收藏
- 关注
原创 补码的理解
1、为什么要有补码? 用原码表示很直观,但是做运算时要判断符号,不方便 为了让计算机只需做一种运算,所以需要找到数的另一种表示方法。2、补码从何而来? 思考一下,假如我们对一个整数数进行累加1,可以发现,个位数会周期性的变化,从0到9,再从9到0。也就是说,当我们不看高位的时候,累加1会使数突然变小,然后再重新变大。那么思考一下,如果我们人为地将0~4定为正数,即代表它原来的数,让...
2018-03-01 00:57:07
740
原创 理解JVM
1、Java代码执行机制(1)源码编译机制 要运行一个java文件,需要将其编译成class文件。编译需要经过词法分析(如判断关键字是否有误)、语法分析(生成抽象语法树)、注解处理、语义分析(将语法糖转化成普通语法,消除泛型,检查异常等)等步骤,最后生成class文件。 class文件是一个自描述文件,包含以下内容: 结构信息:class文件格式版本号 ...
2018-02-28 23:00:04
339
原创 MYSQL如何执行关联查询
首先在mysql中,关联查询并不意味着一定要涉及到多个表,基于单表的select也被视为一次关联。但是无论是单表或者多表,在mysql中都以一下方式查询://遍历表1的数据行while(table_1_row.next()!=-1) //遍历子表表2的数据行 while(table_2_row.next()!=-1) if(符合连接条件) ......
2018-02-26 23:07:46
454
原创 认识webservice
在学习java web项目开发的时候,经常会听到webservice这个词语,一开始以后webservice就是所谓的web应用的一个别称,后来听的多了,发现原来并不是这么一回事,就去系统的学习了webservice,然后打算写下这篇文章总结一下。1.什么是webservice?webservice是一种远程调用技术,通过使用webservice,我们可以发布服务给其他系统使用,也可以调用使用了w...
2018-02-25 22:27:31
180
原创 从函数调用栈的角度看try catch finally有返回值时的执行顺序
前几天在看c语言函数的调用过程时,突然对之前一些不理解的知识点豁然大悟,比如说java异常捕获的返回值问题。我们在百度上搜一下try-catch-finally-return的相关内容,大部分的说解都是罗列各种情况进行各种代码测试,然后在最后面来个总结,比如像下面这篇”最有说服力”的文章: 有return的情况下try catch finally的执行顺序(最有说服力的总结) 这些文章写的虽然
2017-11-27 20:34:33
440
原创 基于sse的消息单向推送机制
消息推送现在基本上是web应用的标配,在做一个社交类网站时,本人一开始由于对这方面的技术不够熟练,想采用最新的websocket技术,却一直失败,最终采用了最传统的轮询方式,十分浪费资源。今天看了spring boot 实战这本书,里面介绍了一种我之前从未了解过的技术——服务器推送事件(Server-sent Events),简称SSE,它可以很方便地实现服务器向客户端的单向消息推送,看起来相
2017-09-11 22:10:29
3251
原创 基于tomcat的java web项目的请求响应的编解码问题
在一开始写java web项目的时候,基本上每个人都不可避免地会遇到乱码的问题,一般我们的解决方法都是这样的:百度一下java web乱码的常用解决方法,然后根据症状找最符合的一个个去试,然后ok完事,然而等到下一次出现相同问题的时候,又得去翻资料。如此治标不治本,实在浪费了我们不少时间,所以还不如花点时间理解透彻这个知识点,以后就不用头疼了。
2017-08-31 21:26:40
488
原创 java NIO网络通信编程
之前使用传统IO写网络编程的时候,一般都是想这样开个主线程这样写服务器端: while(true){ ServerSocket serverSocket=new ServerSocket(8080); Socket socket=serverSocket.accept(); /*生成子线程处理新socket*/ }这样的话每有一个新请...
2017-08-14 00:27:38
372
原创 Java内部类整理
一.java内部类的种类与区别:Java中的内部类总共有以下3种类型:1.普通内部类2.静态内部类3.匿名内部类其中,普通内部类与其外部类是绑定在一起的,内部类作为外部类的组成部分,可以享用外部类的所有资源,但是不能只创建普通内部类而没有外部类;静态内部类和普通类其实没有什么很大区别,不过是命名空间有所变化;匿名内部类顾名思义就是没有类名字,需要继承某个父类或接口,由于匿名的特
2017-08-04 21:39:50
206
原创 java GUI事件模型的调用流程
Java的事件模型由三种类型组成:1.事件对象(类比swing中的ActionEvent)2.源对象(类比swing中的JButton)3.事件监听器对象(类比swing中的ActionListener)源对象是事件的产生者,在JAVA GUI中,一个按钮、一个文本都是一个源对象。当我们通过鼠标点击或键盘输入对源对象进行操作时,源对象会调用某个方法,然后在该方法内生成一个事件对
2017-08-04 21:12:22
972
原创 栈、堆和静态区
1.栈、堆和静态区保存的内容栈:基本数据变量,对象的引用堆:new的对象静态区:类信息、方法(包括静态方法和实例方法)、静态变量、常量2.为什么栈的效率比堆高?①栈空间是在编译时分配的,堆空间是运行时动态分配的;②结束调用后操作系统自动清除栈的内容(通过移动栈指针),而堆内存的分配清除都需要调用函数执行;③访问堆对象时需要先访问指针,再访问内容,总共消耗了两次访存时间。
2017-07-01 23:19:39
425
原创 解决msyql的中文乱码问题
网上的方法:插入以下两行代码到mysql配置文件中:[mysqld]character-set-server=utf8[client]default-character-set=utf8然而本人试了之后没有什么用。所以退而求其次,选择了另一种方法:在创建数据库的时候将数据库设置为uft8:create database db character set 'utf8';这样的话连同数据库里的...
2017-05-19 10:19:54
271
转载 指令重排的原因以及可能造成的问题
为何要指令重排? 现在的CPU一般采用流水线来执行指令。一个指令的执行被分成:取指、译码、访存、执行、写回、等若干个阶段。然后,多条指令可以同时存在于流水线中,同时被执行。指令流水线并不是串行的,并不会因为一个耗时很长的指令在“执行”阶段呆很长时间,而导致后续的指令都卡在“执行”之前的阶段上。相反,流水线是并行的,多个指令可以同时处于同一个阶段,只要CPU内部相应的处理
2017-05-18 10:56:51
9302
3
转载 SpringMVC中利用@InitBinder来对页面数据进行解析绑定
SpringMVC中利用@InitBinder来对页面数据进行解析绑定 原文链接:http://www.cnblogs.com/heyonggang/p/6186633.html 在使用SpingMVC框架的项目中,经常会遇到页面某些数据类型是Date、Integer、Double等的数据要绑定到控制器的实体,或者控制器需要接受这些数据,如果这类数据类型不做
2017-05-17 23:47:33
410
1
原创 JAVA使用、配置相关基础知识
1.jdk和jre的区别jre是java的运行环境,jdk是java的开发工具,jdk带有jre。2.什么时候需要配置环境变量?现在最新的jdk已经不需要手动配置环境变量了,程序自动添加包含java、javaw、javaws等几个程序的文件夹的环境变量路径。但如果配置了的话,jdk会按你配置的路径找到程序。当然,如果你有用到maven、tomcat等工具的话,仍然是需要配置JA
2017-05-16 18:33:31
215
原创 JQuery之动态绑定事件
这几天在用jquery写课设的时候,发现用ajax添加到html的内容无法触发$().click()事件,由于对jquery不是很熟悉,这个问题搞了很久,最后通过查阅资料了解到需要用动态绑定才能使自己t动态添加的html元素可以调用到函数。jquery可以通过.on()方法实现动态绑定,例如 $("ul").on("click","li",function(){}),这样动态添加的元素就能绑定
2017-05-02 18:15:53
267
原创 80x86的寻址方式
1.立即数寻址方式 mov 寄存器,常数 解释:将常数存放到指定寄存器里,常数作为指令的一部分放在代码段中,源操作数与目的操作数长度一致。2.寄存器寻址方式 mov AX,BX 解释:将 BX的值赋值给AX。3.直接寻址方式 mov AX,[操作数] 解释:将以DS为段地址、操作数为偏移地址的物理地址的单元内容赋值给AX。如果操作数为变量
2017-04-03 20:48:53
849
转载 IP、子网掩码、网关、dns的区别
顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”。 按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的,在这里我们所讲的“网关”均指TCP/IP协议下的网关。那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B, 网络A的IP地址范围为“192.168.1.1~192.168.1.254”,子网掩码为255.255.
2017-04-02 22:50:52
860
转载 关于方法内定义的类引用局部变量需要将变量设置final的问题
本文章转自http://www.2cto.com/kf/201306/223568.html————————————————————————————————在使用Java局部内部类或者匿名内部类时,若该类调用了所在方法的局部变量,则该局部变量必须使用final关键字来修饰,否则将会出现编译错误“Cannot refer to a non-final variable * insid
2017-03-23 19:53:41
684
原创 Java动态代理总结
在java动态代理,最重要的就是InvocationHandler接口和Proxy.newProxyInstance(ClassLoader loader, Class[] interfaces,InvocationHandler h)。其中InvocationHandler接口里的invoke方法主要为要代理对象的方法添加代理功能。Proxy.newProxyInstance()方法,通过传入的
2017-03-16 19:49:12
292
原创 事务特性和事务之间的影响
事务特性1.原子性 程序对于数据的一系列操作,要么全做,要么全不做。2.一致性 一致性是指事务开始之前和结束之后,数据库的完整性约束不能被破坏。3.隔离性 多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。由数据库实现4.持久性 保证已提交的事务更新不会丢失。事务之间的影响脏读: 脏读意味着一个事务读取了另一个事务
2017-03-15 23:39:36
1011
原创 回调函数
学习编程的时候,经常会听到别人提起回调函数,但自己对这个概念一直似懂非懂,所以今天打算好好学习整理一下回调函数。 所谓回调,就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法。在c语言里回调函数是用指针完成的,由于java没有指针,我们用回调对象代替。下面,我们举一个例子来描述一下回调的过程: 送货员有一些货需要派送出去,但他不知道要什么
2017-03-02 21:21:52
412
原创 SpringMVC学习笔记1
简单记录下springMVC各个组件的作用。1.DispatcherServlet:捕获请求,将请求通过HandlerMapping和HandlerAdapter分发到不同的controller。2.HandlerMapping: 通过请求的url定位到具体的controller。3.HandlerAdapter: 定位到controller的具体方法。
2017-02-26 15:02:59
212
原创 构建maven的SSH项目
每次要部署SSH项目都感觉有一点生疏,于是打算写一篇博客整理一下,希望把这些简单的东西熟记于心。 首先我们先用eclipse新建一个maven的web项目: 项目名称我取为weibo,包的目录结构为com.alphaking,finish: 我简单的建立一下的包的目录结构: 接下来开始配置ssh。首先配置一下spring+hibernate,在src/main/resources
2017-02-24 23:23:31
332
原创 maven项目 main/java missing问题
项目右键->属性->JAVA BUILD PATH->Libraries->更换jre system library为本机安装的jdk即可。
2017-02-24 15:02:21
268
原创 设计模式之单例模式
今天打算来复习一下单例模式。单例模式是设计模式里较为简单的一种模式,也非常常用,广泛应用于各种框架当中。所谓单例模式,就是确保一个类只有一个实例,并提供全局访问点。 单例模式有好几种形式,其中最简单的是饿汉式:class Singleton{private static Singleton singleton=new Singleton();private Singleton(){}
2017-02-18 18:44:11
530
原创 设计模式之策略模式
策略模式的定义:定义一组算法,分别封装起来,让他们之间可以相互替换(算法类实现同一个接口),此模式让算法的变化独立于使用算法的客户。如定义这样一个玩家类:class Player{public Player(){}//根据不同的距离采取不同的攻击pubilc void attack(double distance){if(distance<5)//攻击算法1else if(distan
2017-01-13 16:27:14
284
原创 优快云博客第一天
又是一个长长的假期,手头上没有什么项目可以锻炼,心想着不然就把我之前的学的东西总结一下,权当巩固一下知识,同时也从中挖掘一些新的或者遗漏掉的知识出来。好的,下定决心了,开干!希望不要半途而废!
2017-01-13 15:21:31
218
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人