自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android动态布局

做为一名初涉安卓的菜鸟,最近在使用Android动态布局时,碰到了一些坑点,今天就总结一下。原本是父布局RelativeLayout里面嵌套了一个子布局LinearLayout,而我现在想要动态调整这个LinearLayout的高度,但是在这里碰到了两个问题。1.设置动态布局后没有效果。 原因:在设置动态布局时未指明其父布局。因为子布局属性的修改也是相对于父布局而言的。而我在使用的时候是用子布局来

2017-08-14 17:05:52 691

原创 Java注解

之前在学习java时没有认真看java注解这部分,最近在熟悉项目代码时,看到里面代码中很多地方都用了java注解这些东西,关于这部分在这里做个总结。       java注解,也称元数据,一种代码级别的说明。它是JDK1.5以及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。1.java的内置注解

2017-07-25 21:25:36 361

原创 PULL和SAX解析xml文件

最近在学习android方面的知识,今天看到了关于使用PULL和SAX两种不同方式解析xml文件,在这里简单总结一下。SAX是一种基于“推”的解析方式,它是自动将事件推入注册的事件处理器进行处理,所以你不能控制事件处理的主动结束。在使用SAX方式解释xml文档时,它不会一次将整个的文档读入内存在进行解析,而是在我们读取文档的过程中就对它进行解析,但是SAX在解析xml文档时,还是要遍历完毕文档中的所

2017-07-21 20:41:12 591

原创 SpringMVC-Model和ModelAndView的区别

在平时写项目的过程中,通常在返回视图页面的时候,大多都是使用Model,ModelAndView这两个类,今天就总结以下这两个的使用和区别,避免使用中的一些小坑点。@Controller("Test")public class Test{ @RequestMapping("") public ModelAndView one(){`这里写代码片` ModelAndView ma

2017-02-22 01:55:40 4215

原创 ssm框架的简单搭建

最近在maven下使用ssm框架(spring,springMVC,mybatis)进行练习,在这里就简单总结一下一个ssm框架的基本搭建过程。在这里你首先要创建一个maven项目    在创建过程中你要注意在这里添加一个参数archetypeCatalog=internal , 如果你没有添加这个参数,在maven生成骨架的时候会非常慢,有时候甚至会卡住。archetypeCatalog表示

2016-12-01 09:52:17 4127

原创 关于jsp和html文件的缓存问题

今天在做一个小练习的时候,遇到一个让我很想不通的问题。今天在自己在写java web小练习时,在servlet中添加一个过滤器,让这个过滤器实现根据不同权限限制访问不同的页面功能。当我在web.xml中配置好过滤器后,并在maven下布署运行,发生了很”神奇”的现象。这是我的项目目录结构 在过滤器里我设置了当管理员登录时可以访问管理页面(即html文件里的html文件),而当普通用户登录时只能进行

2016-11-09 21:57:43 4749 1

原创 c语言词法分析器的简单实现

前不久编译原理学习了词法分析,自己实现了一个简单的c语言词法分析器,来加深对词法分析器原理,状态转换图,有限自动机的理解。当我们想在电脑上运行一个c语言程序时,都要将源程序进行编译。编译简单来说就是将一个源程序转换为另一种形式的程序的过程。而编译中的词法分析就是将你所输入的各种元素按照一种规则分解整理成各种单词符号,包括关键字,标识符,运算符等。在这个词法分析器中我把不同的单词符号分为了界符,运算符

2016-11-04 21:24:50 44850 8

原创 session与cookie

在web应用编程中,session与cookie都是很重要的东西,最近通过搜索整理了一些相关资料,现在就简单说说两者之间的区别。关于cookie: cookie是在客户端保存一些信息。cookie的内容主要包括名字,值,过期时间,路径和域。路径和域一起构成cookie的作用范围。如果不设置过期时间,则表示这个cookie的生命期为浏览会话期间,关闭浏览窗口,cookie就消失。这种生命期为浏览会

2016-10-07 22:21:50 407

原创 java中的单例模式与静态类

在写代码时,碰到了有关单例和静态类两者之间选择的问题。今天就小小的总结一下两者的区别。   单例具有更多面向对象的能力,可以在需要的时候加载,不用的时候销毁,适用于保存状态信息。而静态类速度快,在编译时就会被加载,不适于保存状态信息。  在java中的静态方法是不可以覆盖的,没有太多的灵活性,而使用单例,可以通过继承和多态扩展基类,实现接口和更有能力提供不同的实现。就像java.lang.Ruti

2016-09-19 14:19:41 779

原创 简谈java中的阻塞非阻塞与同步异步

在学习java网络编程时,我遇到了同步/异步,阻塞/非阻塞着四种调用方式。在这里我就大概的说一下我对它们的理解。同步/异步主要针对客户端:        同步:就是当客户端发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是说必须一件一件的事情去做,等一件做完了才能去做下一件。         异步:就是当客户端发出一个功能调用时,调用者不用等接收方发出响应。实际

2016-09-05 12:26:21 5366 1

原创 ubuntu下怎样创建桌面快捷方式

在这里我就以创建eclipse的快捷方式为例,简单介绍一下怎样在ubuntu 16.04(已配置好jdk)环境下怎样创建。1.在这里我已经把eclipse压缩包解压在/usr/local下​2.首先新建文件eclipse.desktop,命令如下sudo  vim /usr/share/applications/eclipse.desktop3.在新建文件中添加如下

2016-09-05 12:25:25 883

原创 java NIO 实现非阻塞socket通信

java的nio为非阻塞式socket通信提供了如下几个类:          Selector : 它是SelectableChannel对象的多路复用器,所有希望采用非阻塞方式进行通信的channel都应该注册到Selector对象。可以通过调用此类的open()静态方法来创Selector实例,该方法将使用系统默认的Selector来返回新的Selector。 Selecto

2016-09-05 12:24:51 2483

原创 jvm的垃圾回收(1)

垃圾回收机制具有以下特征    1.垃圾回收机制只负责回收堆内存中的对象,不会回收任何物理资源。​​    2.程序无法精确控制垃圾回收的运行,垃圾回收会在合适的时候进行。当对象永久的失去引用后,系统会在合适的时候回收它所占d的内存。    3.在垃圾回收机制回收任何对象之前,总会调用它的finalize()方法,该方法可能使该对象重新复活(让一个引用变量重新引用该对象),

2016-09-05 12:23:10 294

原创 native方法的实现过程

我们在编写程序的过程中,对于一些特殊的好=功能(如访问操作系统底层的硬件设备等)java程序无法实现,必须借助C语言来完成,此时就需要用c语言来为Javat提供实现,而它的实现步骤如下:1.java程序中声明native()方法,类似于abstract方法,只有方法签名,没有实现,编译该Java程序,生成一个.class文件2.用javah编译第一步生成.的class文件,生成一个

2016-09-05 12:21:38 691

原创 HotSpot虚拟机在java堆中的内存使用

在java程序中总是不断的有对象被创建出来,但是在虚拟机中对象的创建又是怎样一个过程呢?        符号引用:在java中,一个java类将会编译成一个class文件。在编译时,java类并不知道引用类的实际内存地址,因此只能使用符号引用来代替。比如org.simple.People类引用org.simple.Tool类,在编译时People类并不知道Tool类的实际内存地址,因此只能

2016-09-05 12:19:39 333

原创 jvm的运行时数据区

java虚拟机在执行java程序的过程中会把它所管理的内存分成为若干个不同的数据区。运行时数据区域有:方法区,虚拟机栈,本地方法栈,堆,程序计数器。      1. 程序计数器:它可以当作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的。在任何一个确

2016-09-05 12:18:52 302

原创 servlet中的会话管理

Web应用程序的请求与响应是基于HTTP,为无状态的通信协议,服务器不会"记得"这次请求与下一次的请求之间的关系.然而有些功能是必须由多次请求来完成,例如当用户在多个网页之间采购物品时,WEB应用程序必须有个方式来"得知"用户在这些网页采购了哪些商品,这种记得此次请求与之后请求间关系的方式称为会话管理.          实现会话管理有几个基本方式.如隐藏域,Cookie与URL重写.

2016-09-05 12:17:44 767

原创 java中的字符串常量池

JVM为了减少字符串对象的重复创建,维护了一个特殊的内存,这段内存被称为字符串常量池。并且池中的字符串的内容不重复。对于所创建的字符串对象,在字符串常量池中存放的是字符串常量对象。而new出来的字符串对象都存放在堆里。运行期调用String类的intern()方法可以向字符串常量池中动态添加对象。          String对象的创建也很讲究,关键是要明白其原理。 原理1:当使

2016-09-04 18:08:41 399

原创 java容器类(2)

Set集合:        Set判断两个对象相同不是使用==运算符,而是根据equals方法.     1.HashSet:        HashSet是Set接口的典型实现,大多数时候使用Set集合就是使用这个实现类.HashSet按Hash算法来存储集合中的元素,因此具有很好的存取和查找性能.   特点:不能保证元素的排列顺序,顺序可能与添加顺序不同

2016-09-04 18:08:38 288

原创 java容器类(1)

java集合类是一种特别有用的工具类 , 可以用于存储数量不等的多个对象 , 并可以实现常用的数据结构 , 如栈,队列等 . 除此之外, Java对象还可用于保存具有映射关系的关联数组 . java集合大致可分为Set,List和Map三种体系,其中Set代表无序 ,不可重复的集合 ; List代表有序,重复的集合 , 而Map则代表具有映射关系的集合 . 从java5以后,java又增加了

2016-09-04 18:08:35 208

原创 Servlet的一些基本知识

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和HTTP 服务器上的数据库或应用程序之间的中间层。使用Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。Java Servlet 通常情况下与使用 CGI(Common GatewayInterface,公

2016-09-04 18:08:33 726

原创 java中的标签语句

goto虽然是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子。它并不属于一次跳转,而是中断循环语句的一种方法。之所以把它们纳入goto问题中一起讨论,是由于它们使用了相同的机制:标签。“标签”是后面跟一个冒号的标识符,就象下面这样:label1:    对Java来说,唯

2016-09-04 18:08:30 4155

原创 mysql数据库的一些基础知识

1.连接服务器,进行登录    mysql -h host -u user -p    host : mysql服务器运行的主机名    user:  mysql账户用户名数据库中的字符串用单引号引起来.SQL语句是大小写不敏感的,但不敏感的是SQL关键语句,字符串值还是大小写敏感的.2.显示当前mysql版本和当前日期    查询时间: select

2016-09-04 18:08:27 315

原创 进程退出

进程退出表示进程即将结束退出 . 在linux系统里进程退出的方法分为正常退出和异常退出两种 .其中正常退出的方法有三种,异常退出的方法有两种 .  正常退出1.  在main函数中执行 return 2. 调用 exit函数3. 调用  _exit 函数  异常退出1. 调用 about 函数2. 进程收到某个信号, 而该信号使程序终止不管是哪种退出方式, 最终都会执行内核中的

2016-09-04 18:08:24 670

原创 关于pthread_cleanup_push() …

linux系统中提供了一对函数 :pthread_cleanup_push( ) 和 pthread_cleanup_pop( )用于自动释放资源 , 就像释放锁,以防其它线程永远都无法得到锁,而造成死锁.从 pthread_cleanup_push( )的调用点到pthread_cleanup_pop ( )之间的程序段中的终止动作(如调用 pthread_exit ) 都将执行pthre

2016-09-04 18:08:22 281

原创 linux下的exec函数族

linux 下,exec函数族有6种不同的调用形式:#includeint execve ( const char *path, char *const argv [ ] , char *const envp[ ]);int execv  ( const char *path, char *const envp[]);int execle ( const char *path, co

2016-09-04 18:08:19 572

原创 关于wait, WIFEXITED和 …

1. wait函数的原型是:   #include   #include    pid_t  wait(int *statloc);      进程一旦调用了wait,就立即阻塞自己 , 父进程暂停执行 ,由wait自动分析是否当前进程的某个子进程已经退出。如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个

2016-09-04 18:08:17 399

原创 关于循环队列的存储问题

循环队列是队列的一种顺序表示和实现方法.与顺序栈类似,在队列的顺序存储结构中,用一组地址连续的存储单元依次存放从队头到队尾的元素,又因为队列中队头和队尾的位置是动态变化的,因此需要附设两个指针front和rear,分别指示队头元素和队尾元素在队列中的位置.初始化队列时,令front= rear=0;入队时,直接将新元素送入尾指针rear所指的单元,然后尾指针加1;出队时,直接取出队头指针fro

2016-09-04 18:08:14 2604

原创 关于git的一些基本使用命令

Git是目前世界上最先进的分布式版本控制系统,可以建立一个远程的仓库可以方便快捷的管理自己的代码,自己最近也刚刚开始使用git,就在这里总结一下git的一些使用.                                                                                                            

2016-09-04 18:08:12 246

原创 linux下文件的创建,打开与关闭

1.open 函数:(open 系统调用用来打开或创建一个文件)函数原型为:#include#include#includeint open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);pathname : 是要打开或创建的含路径的文件名flags :

2016-09-04 18:08:09 3406

原创 关于linux下printf命令控制输出字…

linux下终端的字符颜色由转义序列控制,是文本模式下的系统显示功能,与具体语言无关。    转义序列以控制字符'ESC'开头。该字符的ASCII码十进制表示为27,十六进制表示为0x1B,八进制表示为033。多数转义序列超过两个字符,故通常以'ESC'和左括号'['开头。该起始序列称为控制序列引导符,通常由'\033['或'\e['代替。    格式为:     printf(

2016-09-04 18:08:06 1954

空空如也

空空如也

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

TA关注的人

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