java
西丽小帅
这个作者很懒,什么都没留下…
展开
-
单例模式小结
单例模式有5种实现方式,实现单例模式要掌握的要点:1) 构造方法私有,为private2) 确保单例类只有一个对象,尤其是多线程模式下1.饿汉式public class Singleton { private static Singleton instance = new Singleton(); private Singleton(){ } public static...原创 2018-11-08 14:28:34 · 118 阅读 · 0 评论 -
netty 一之IO模型
项目总用到了netty框架,看了与netty相关的基础知识,netty中用到了NIO,如何理解NIO,这就需要先理解I/O模型I/O模型有5种I/O模型,借用钓鱼的故事比较通俗易懂。有以下五种钓鱼方式:王铁锤他先给鱼竿上放好鱼饵,然后就坐在自己的小板凳上,眼睛一直瞪着鱼竿的尽头。等到鱼上钩后,自己收竿把鱼放在桶里。李狗蛋他也和王铁锤一样,上好鱼饵之后就等鱼上钩。但他的做...转载 2018-11-08 22:21:33 · 275 阅读 · 0 评论 -
Hibernate一之常见问题
1.Hibernate中对象的三种状态。瞬时状态(或临时状态):数据库种没有对应记录,同时没有被session管理,即new出来的新实例持久化状态:数据库中有对应的记录,同时被session管理。特点:修改了对象的属性值,其数据库中的对应的字段也会同步修改游离状态:数据库中有对应的记录,同时脱离了session的管理。特点:已持久化,但不在session缓存中 2、Hibe...原创 2018-11-15 21:11:36 · 101 阅读 · 0 评论 -
Hibernate二之对象关系
hibernate的关系配置中有两个重要的配置项 reverse 和 cascadeinverse:在双向关联的情况下面使用,单向关联的时候不需要使用reverse配置。cascade:用来设置相互关联的对象之间的级联操作。一对一关系...一对多的关系一对多的关系可以分为三种。以班级(一)--学生(多)为例1)多对一单向,是单向引用,多的一方引用少的一方,不会创建单...原创 2018-11-15 21:17:05 · 159 阅读 · 0 评论 -
java基本数据类型和数据类型转换
1.首先复习一下java的基本数据类型,见下图2.比较他们的字节数备注:1字节(Byte)=8位(Bit)3.转换中的知识点*java中整数类型默认的int类型;小数类型默认的double;*char 可以当做一中特殊的整数类型;*int无法转换为boolean;*小数类型转为整数类型,小数可能被舍弃,所有出现精度损失,所以需要强制转换;*boolean 类...转载 2018-11-14 20:05:50 · 189 阅读 · 0 评论 -
Java String类常用方法总结
一、String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的final类,不能有类。String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间。二、String类对象的创建字符串声明:String stringName;字符串创建:stringName = new String(字符...转载 2018-11-14 20:59:45 · 147 阅读 · 0 评论 -
Java jsp+servlet常见问题总结
1.四大共享范围application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。request:请求作用域,就是客户端的一次请求。page:一个JSP页面。以上作...原创 2018-11-14 22:11:52 · 887 阅读 · 0 评论 -
Struts2一之典型用例
写一个简单的登录跳转的场景来记录下struts2的用法。前端使用的是DMI请求方式,后台action使用继承ActionSupport的方式创建action一.构建struts2环境1.导入struts2的jar包2.配置struts2的核心配置文件:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE stru...原创 2018-11-16 11:23:06 · 225 阅读 · 0 评论 -
Struts2二之知识点总结
1.创建Action的3种方式1)普通java类public class FirstAction { private String userName; private String userPass; public String getUserName() { return userName; } public void setUserName(String userNam...原创 2018-11-16 14:09:33 · 120 阅读 · 0 评论 -
Struts2三之知识点总结2
转载自:https://www.cnblogs.com/konrad/p/6426790.html一、Struts2简介 1.概念:轻量级的MVC框架,主要解决了请求分发的问题,重心在控制层和表现层。低侵入性,与业务代码的耦合度很低。Struts2实现了MVC,并提供了一系列API,采用模式化方式简化业务开发过程。 2.与Servlet对比 优点:业务代码解耦,提高开发效...转载 2018-11-16 16:23:48 · 133 阅读 · 1 评论 -
JVM参数配置简单实战
之前被问到jvm性能监控方面的问题,花时间对jvm相关的参数进行了一些研究,现将学习到的知识小结一下。测试环境:系统:64位win10系统jdk版本:1.8.0_191一.构建稳定的JVM虚拟机实例要查看JVM相关的运行参数,首先要构建一个稳定运行的JVM实例,想想你写的第一个java程序helloworld。对,就用helloworld构建一个稳定的JVM虚拟机实例。1....原创 2018-12-30 23:13:36 · 449 阅读 · 3 评论 -
java多线程之线程池
Java通过Executors提供四种线程池,分别为:newSingleThreadExecutor通俗:创建只有一个线程的线程池,且线程的存活时间是无限的;当该线程正繁忙时,对于新任务会进入阻塞队列中(无界的阻塞队列)适用:一个任务一个任务执行的场景newCachedThreadPool:通俗:当有新任务到来,则插入到SynchronousQueue中,由于Synchrono...原创 2018-11-08 10:10:20 · 159 阅读 · 0 评论 -
java多线程之 线程协作
也是网上看的一道题目:关于假如有Thread1、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?搜集整理了网上朋友提供的方法,主要有:1. 多线程都是Thread或者Runnable(后者比较多),但是,这两种都是没返回值的,所以我们需要使用callable(有返回值的多线程)和fut...原创 2018-11-08 00:28:11 · 229 阅读 · 0 评论 -
java多线程之锁机制二
网上看到一个题目,题目是这样:Java多线程,启动四个线程,两个执行加一,另外两个执行减一。针对该问题写了一个程序,测试通过,如下:class Sync { static int count = 0; public void add() { synchronized (Sync.class) { System.out....原创 2018-11-07 23:45:00 · 114 阅读 · 0 评论 -
java批处理程序分析
数据库 java 批处理原创 2017-04-16 17:50:58 · 3071 阅读 · 0 评论 -
tomcat的启动配置小结
近段时间在做项目要用到tomcat时,都是在IDE里面启动tomcat加载项目,昨天遇到问题要将一个不在workspace下的项目放到tomcat中执行,发现之前对tomcat的配置这方面的了解还是很薄弱,现将新学到的几点小结一下:1.如何启动tomcat的启动脚本在tomcat的bin目录下,启动脚本start有两个,分别时startup.bat和startup.sh两个,在windo...原创 2018-05-18 09:19:05 · 3547 阅读 · 0 评论 -
Java前后端的时间格式转换
在web项目中,前后端的数据类型不一致也是一个很常见的问题,最典型的莫过于时间格式的转换了,前端的时间展示一般是一个字符串类型(String),但是后端的时间类型则一般为日期类型(Date),在前端与后端交互的过程中,经常会涉及到String类型和Date类型的相互转换,现将两者之间的相互转换做一个小结:前端->后端 一般就是字符串转日期类型,其常用方式为添加注解@InitBinder来实现...原创 2018-05-13 14:38:04 · 3942 阅读 · 3 评论 -
Java常见面试题
今天整理了下面试中会经常出现的一些问题。1.线程的几种状态和相互的转换?回答要点:1)线程有5中状态,分别是: 创建 就绪 运行 阻塞 死亡2)就绪,运行,阻塞之间的转换线程在就绪状态以后,由CPU调度到该线程后,线程就进入运行状态;线程在运行状态时,进入就绪状态只有1种情况,线程调用yield()方法,则进入就绪状态,进入就绪状态的线程可直接再次进入运行状态;进入阻塞...原创 2018-11-07 19:56:24 · 11374 阅读 · 1 评论 -
JVM小结
JVM之前就有接触过,但一直都没有做一个总结,很多概念没有一个系统性的认识,借这篇对JVM的一些知识点做一个总结与归纳。一.JVM体系结构图1.体系图每个JVM都有两种机制,一个是装载具有合适名称的类(类或是接口),叫做类装载子系统;另外的一个负责执行包含在已装载的类或接口中的指令,叫做运行引擎。每个JVM又包括方法区、堆、Java栈、程序计数器和本地方法栈这五个部分,这几个部分和类装...原创 2018-11-01 10:38:58 · 174 阅读 · 0 评论 -
Spring AOP之动态代理
Spring AOP有两种动态代理的方式,一种是jdk的动态代理,一种是cglib实现的动态代理,看下两种代理的实现方式。1.jdk的动态代理接口:public interface ISaler { public void buy();}实现类:public class CPU implements ISaler{ @Override public void...原创 2018-11-09 15:10:22 · 133 阅读 · 0 评论 -
netty 二之pipeline
一 netty简单示例先写一个简单的netty长连接Demo服务端主要包括连接类(bootstrap)和业务处理类(channelHandler),另外一个server启动类,可以与连接类合并。公用的类为消息和消息编码,消息解码类。消息类:public class RequestInfoVO { private String body; private in...原创 2018-11-10 20:39:55 · 1213 阅读 · 0 评论 -
java锁机制的两种实现synchronized 与ReentrantLock
java的多线程环境下并发是常见问题,这两天看了锁相关的问题,记录下两个简单的用锁实现等待/唤醒机制的demo。1.synchronized方式实现等待/唤醒。public class WaitAndNotify { private static boolean flag = true; private static Object lock = new Object();...转载 2018-11-07 19:54:50 · 288 阅读 · 0 评论 -
netty 三之消息推送和心跳检测
主要参考https://blog.csdn.net/coder_py/article/details/73441043有小改动(因使用的是netty4的包 netty-all-4.1.25.Final.jar)通讯信息的基类,需要实现序列化,定义了信息的类型和客户端ID,方便进行管理消息基类:public abstract class BaseMsg implements S...转载 2018-11-10 22:02:17 · 667 阅读 · 0 评论 -
java多线程之锁机制一
网上看了一篇关于java synchronized关键字使用的很好的文章,现将其简要总结一下,加深理解。先总结两个规则:synchronized锁住的是括号里的对象,而不是代码。对于非static的synchronized方法,锁的就是对象本身也就是this。多个线程的synchronized必须锁住的是同一个对象,才能防止多个线程同时执行同一个对象的同步代码段。有两种方法可以实现...原创 2018-11-07 23:15:55 · 154 阅读 · 0 评论 -
多个jdk在windows环境下的配置
windows7x系统,以前安装的是jdk1.6,后来换成jdk1.7,在环境变量里面也把JAVA_HOME和PATH设置成jdk7的安装路径了,但是在cmd下输入java -version命令仍然显示的是jdk1.6版本碰到这样的问题可以执行where java 看一下路径是不是jdk7的路径,如果对的话就把C:\windows\system32下面的3个java相关的exe删了即可,如果原创 2015-11-20 10:09:29 · 330 阅读 · 0 评论