Java
shuaibi.1
这个作者很懒,什么都没留下…
展开
-
记录-分模块输出到不同的日志文件
今天碰到一个业务场景:之前做好了一个web系统,接到任务需要将一个独立的Java系统嵌入到web系统中,Java系统嵌入顺利完成,此时出现了一个问题由于Java和web两个系统都使用了日志系统,造成此前的web系统中日志文件全部定向到嵌入后的Java系统日志输出文件内。原因剖析web中日志配置文件(log4j.properties)log4j.rootLogger=info,A1,R...原创 2020-04-16 16:33:50 · 845 阅读 · 0 评论 -
类加载过程
一个Java文件从编码完成到最终执行,一般主要包括两个过程编译运行编译,即把我们写好的java文件,通过javac命令编译成字节码,也就是我们常说的.class文件。运行,则是把编译声称的.class文件交给Java虚拟机(JVM)执行。而我们所说的类加载过程即是指JVM虚拟机把.class文件中类信息加载进内存,并进行解析生成对应的class对象的过程。举个通俗点的例...转载 2019-01-09 22:03:42 · 155 阅读 · 0 评论 -
使用cmd-命令运行Java项目
这里你先说明一下,这里的java项目并不是简单地helloworld,而是一个完整的Java项目,又或者maven项目。。。先说一下我做这件事情的缘由吧~~~本人最近需要一个每隔几分钟就循环提醒的软件,然后由自己决定循环几次,在网上找了许久也没有找到一个称心如意的软件,譬如也下载过功能强大的敬业签软件,但是令人失望的是这么花哨的一个软件却没有一个我需求的小小功能,哎~~没办法,自己毕竟也是...原创 2019-01-21 21:36:47 · 3822 阅读 · 0 评论 -
jsp模板(自用)
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><% String path = request.getContextPath(); String basepath = request.getScheme()+"://"+request.g...原创 2019-02-01 15:57:51 · 1987 阅读 · 0 评论 -
idea创建web项目的几种方式(没内容,自用)
这个需要自己配置class文件,没有用到Maven,稍微麻烦点https://www.cnblogs.com/jxldjsn/p/8203859.html这个使用Maven插件配置web项目https://blog.csdn.net/czc9309/article/details/80304074再个就是不实使用maven插件模板创建web,不需要手工创建class和lib文件等操...原创 2019-01-30 12:42:20 · 1650 阅读 · 0 评论 -
关于路径的问题(以后会慢慢的补进来)
说一下事情发生的缘由吧,今天想写一个通用的jdbcUtil类,也试着想把它尽量做到美观和性能兼具。所以了解了很多种方法,其中一种呢,使用Properties和FileInputStream类读取资源文件,一致陷与路径问题,经常报错,俗话说:世上本没路,走的人多便成了路,在我这里呢,就是“踩得坑多了,自然就有了规避坑的能力了~~~”关于FileInputStream类中URL问题乃至是整...原创 2019-01-30 23:18:43 · 141 阅读 · 0 评论 -
Java创建对象小结
Java SE中必可避免的会学到new关键字(用以创建对象),之后又了解到了克隆以及反射都可以创建对象。。今天又学到了静态工厂以及构建器,所以呢,在此做一个小结。下面我先以创建对象的几种方式开始讲起,然后在优化构造器用以创建对象(即为何尽量使用构建器而不是其他的几种),介绍的不周到的地方还请大佬见谅,我还是个弟弟~~~~创建对象五种方式 new关键字 语法:类名 对象名=ne...原创 2019-03-12 14:50:42 · 203 阅读 · 0 评论 -
Java-单例模式
一、什么是单例模式单例:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式是一种常用的软件设计模式之一,其目的是保证整个应用中只存在类的唯一个实例。比如我们在系统启动时,需要加载一些公共的配置信息,对整个应用程序的整个生命周期中都可见且唯一,这时需要设计成单例模式。如:spring容器,session工厂,缓存,数据库连接池等等。...转载 2019-03-12 17:59:01 · 127 阅读 · 0 评论 -
java-注解
今天在慕课网学了java注解,想着做一篇总结博客,无意中看到“还记得梦想吗”博主也做了慕课网教程的总结,我就拿过来直接用啦^_^,谢谢原博主的辛劳总结,以下呢就是在此基础上做了一下小小的调整。原文链接:https://blog.csdn.net/jianjiaqqq001/article/details/73440822jdk自带的注解重写注解 @Override会按注解指令 覆盖...原创 2019-03-13 15:23:58 · 230 阅读 · 0 评论 -
IP工具类
import org.junit.Test;public class demo { public static final String DEFAULT_SUBNET_MASK_A = "255.0.0.0"; public static final String DEFAULT_SUBNET_MASK_B = "255.255.0.0"; public static...原创 2019-07-15 20:06:32 · 346 阅读 · 0 评论 -
ArrayList 去重
ArrayList 去重在写java代码中会用到ArrayList,使用过程中有一些比较奇葩的业务,需要对重复的数据去重。在网上找了几种方法利用HashSet里面的元素不可重复 利用list里面contains方法比较是否存在去重首页我试验了第一种方法 public static void main(String args[]){ ArrayList<Int...转载 2019-07-24 17:09:35 · 827 阅读 · 1 评论 -
idea打jar包(包括依赖包)
今天试着将一个maven项目打成jar包供其他项目使用,虽然看起开,对于第一次弄得我还是费了不少功夫,在此记录一下,方便日后查看也给和我一样在此处刨坑的小伙伴们指点迷津。先讲一下此次打jar包的基本情况:IDE:idea,maven,这里和jdk版本无关就不做介绍了。目的:一个maven项目(依赖了第三方jar包)在idea中使用maven打成jar包,然后放在其他项目中使用首先呢...原创 2019-08-12 14:06:13 · 11371 阅读 · 0 评论 -
二进制十六进制相互转换
使用Java自带的转换方法也可以但是会有如下情况发生:Integer.toBinaryString(Integer.valueOf("0020",16))。---java自封装的方法如果十六进制为“0020”类似这种的情况就会转换为100000,有0的则不会转换。 十六进制很长的时候就会出错,因为通过这样的转换,在把字符串转成整形的时候,长度太长了,超过的整形的最大值,。于是便有了...转载 2019-09-02 18:05:54 · 1055 阅读 · 0 评论 -
JAVA类加载器
JAVA类加载流程Java语言系统自带有三个类加载器: - Bootstrap ClassLoader 最顶层的加载类,主要加载核心类库,%JRE_HOME%\lib下的rt.jar、resources.jar、charsets.jar和class等。另外需要注意的是可以通过启动jvm时指定-Xbootclasspath和路径来改变Bootstrap ClassLoader的加载目录。比如ja...转载 2019-01-09 21:56:28 · 110 阅读 · 0 评论 -
Java性能调优小技巧
1.在必要之前,先不要优化1.5同步代码块的范围也小于同步方法,建议使用,相比之下能够提高性能。2.使用分析器来找到真正的瓶颈3 .为整个应用程序创建性能测试套件4.首先解决最大的瓶颈问题5.使用StringBuilder以编程方式连接字符串在Java中有许多不同的连接字符串的选项。例如,可以使用一个简单的+或+ =、老的StringBuffer或StringBuilder...转载 2019-01-09 21:32:40 · 235 阅读 · 0 评论 -
浅谈GC
JVM GC(垃圾回收机制)在学习Java GC 之前,我们需要记住一个单词:stop-the-world 。它会在任何一种GC算法中发生。stop-the-world 意味着JVM因为需要执行GC而停止了应用程序的执行。当stop-the-world 发生时,除GC所需的线程外,所有的线程都进入等待状态,直到GC任务完成。GC优化很多时候就是减少stop-the-world 的发生。JV...转载 2019-01-09 21:26:54 · 770 阅读 · 0 评论 -
Java中抽象类和接口
一.抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为: 1 abstract void fun(); 抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。因为抽象类中含有无具体实现的方法...转载 2019-01-17 20:27:28 · 131 阅读 · 0 评论 -
Java集合框架
一、集合框架图简化图:说明:对于以上的框架图有如下几点说明1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2. 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。3. 抽象类:5个抽象类(长虚线表...转载 2019-01-18 09:28:26 · 3060 阅读 · 0 评论 -
String类型直接赋值与构造赋值
String类的两种实例化:1. 采用直接赋值:在jvm底层会自动维护一个对象池(可以理解为对象数组),若采用直接赋值的操作,那么该实例化对象(字符串)将自动保存到对象池中,如果下次继续使用直接赋值声明了String类对象,那么如果此时对象池之中存在指定内容,则直接进行引用,若没有,则开辟新的字符串对象,然后将其保存在新的对象池之中以供下次使用。2.采用构造方法:String str = ...转载 2019-01-12 20:46:56 · 3933 阅读 · 0 评论 -
Java中异常详解
任何程序都追求正确有效的运行,除了保证我们代码尽可能的少出错之外,我们还要考虑如何有效的处理异常,一个良好的异常框架对于系统来说是至关重要的。最近在给公司写采集框架的时候系统的了解一边,收获颇多,特此记录相关的理论。1 .异常体系简介:异常是指由于各种不期而至的情况,导致程序中断运行的一种指令流,如:文件找不到、非法参数、网络超时等。为了保证正序正常运行,在设计程序时必须考虑到各种异常情况...转载 2019-01-18 11:27:20 · 480 阅读 · 0 评论 -
Java多线程
目录 1. 多线程基础概念介绍1.1、一个线程的生命周期1.2、线程的状态转换图2、创建java多线程2.1、扩展java.lang.Thread类start()方法和run()方法的区别2.2、实现java.lang.Runnable接口2.3、Thread和Runnable的区别2.4、实现Callable接口通过FutureTask包装器来创建Thre...原创 2019-01-19 13:16:30 · 372 阅读 · 0 评论 -
JSON的使用
一种数据传输格式,与开发语言无关,轻量级一开始是javaScript的,但是后面比较流传,几乎所有语言都有相应的使用API说白了就是对数据的描述,刚刚出现是为了取代XML,可惜并没有,但是在作为配置文件上,却是很好,由于它小巧灵活,描述数据很好,所以在网络上进行数据传输更加方便。 这里分两块来讲json,一是json在Java中的使用,另为一种是json解析。至于json在J...转载 2019-01-19 17:43:38 · 380 阅读 · 0 评论 -
Java-jdbc
1、JDBCJDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。1.1、简述JDBC连接...原创 2019-01-24 17:24:33 · 333 阅读 · 0 评论 -
Java-泛型
什么是泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制...原创 2019-01-20 11:11:56 · 142 阅读 · 0 评论 -
Java-反射
反射之中包含了一个「反」字,所以想要解释反射就必须先从「正」开始解释。一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。Apple apple = new Apple(); //直接初始化,「正射」apple.setPrice(4);上面这样子进行类对象的初始化,我们可以理解为「正」。而反射则是一开始并不...转载 2019-01-20 12:20:23 · 233 阅读 · 0 评论 -
Java-并发
Java高并发,如何解决,什么方式解决对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步 1、同步和异步的区别和联系 所谓同步,可以...转载 2019-01-20 14:53:50 · 145 阅读 · 0 评论 -
Java-序列化
一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的...转载 2019-01-20 17:01:39 · 132 阅读 · 0 评论 -
eclipse目录发布到tomcat对应的目录
原创 2018-10-05 09:24:33 · 624 阅读 · 0 评论