【java】
文章平均质量分 67
月疯
得到你最想要的东西,最保险的办法,那就是你能配得上你最想要的东西。机会是留给有准备的人,运气是留给有天赋的努力者。
展开
-
环境搭建创建一个javaweb+maven+Jfinal项目
JFinal有如下主要特点:MVC架构,设计精巧,使用简单遵循COC原则,零配置,无xml独创Db + Record模式,灵活便利ActiveRecord支持,使数据库开发极致快速自动加载修改后的java文件,开发过程中无需重启web serverAOP支持,拦截器配置灵活,功能强大Plugin体系结构,扩展性强多视图支持,支持FreeMarker、JSP、Velocity强大的Validator...转载 2018-04-06 20:46:26 · 358 阅读 · 0 评论 -
IDEA下java的SSM框架搭建
idea2017.2.6 jdk1.9tomcat9mysql绿色版SSM也就是Springmvc+Spring+Mybatis,这也是现在主流的框架,在Idea环境搭建:整体项目框架图1、pow.xml文件<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchem...原创 2018-04-12 00:57:47 · 545 阅读 · 0 评论 -
kafka消息队列的概念理解
kafka在大数据、分布式架构中都很流行。kafka可以进行流式计算,也可以做为日志系统,还可以用于消息队列。kafka作为消息队列的优点:分布式的系统 高吞吐量。即使存储了许多TB的消息,它也保持稳定的性能。 数据保留在磁盘上,因此它是持久的。一、pull模式消息队列有push模式和pull模式。push模式是消息队列推送给消息消费者,pull模式是消息消费者从消息队列中拉取。...转载 2019-01-10 18:25:07 · 534 阅读 · 0 评论 -
关于docker的理解
Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。...转载 2019-06-03 16:51:12 · 129 阅读 · 0 评论 -
IDEA搭建一个简单的Javaweb项目(二)
说明:IntelliJ IDEA 版本为2017.2.6JDK 版本为1.9tomcat 版本为apache-tomcat-9mysql版本是MySQL_5_green(链接数据库的默认用户名:这个绿色版的 MySQL 秘密是 mysql ,你也可以通过修改配置文件的方法更改本密码 密码:root)mysql的客户端(SQLyog Enterprise 8.32 汉化绿色版_图形化MySQ...原创 2018-04-06 16:37:05 · 1209 阅读 · 0 评论 -
Idea搭建一个JavaWeb项目(一)
说明:IntelliJ IDEA 版本为2017.2.6JDK 版本为1.9tomcat 版本为apache-tomcat-91、先创建一个工程:2、输入项目名称和项目路径,点击next3、创建一个Module:点击Finish,弹出窗口4、选择Java,配置Module的SDK,选择Web'Application,配置Versions,点击next5、输入module的名称,点击finish6、...原创 2018-04-06 15:43:57 · 699 阅读 · 0 评论 -
Mysql的数据库和客户端环境搭建(三)
说明:mysql版本是MySQL_5_green(链接数据库的默认用户名:这个绿色版的 MySQL 秘密是 mysql ,你也可以通过修改配置文件的方法更改本密码 密码:root)mysql的客户端(SQLyog Enterprise 8.32 汉化绿色版_图形化MySQL数据库管理工具)1、点击打开Mysql的客户端2、点击链接,进入主界面3、点击创建4、执行sql语句和查询5、其他功能...转载 2018-04-06 17:10:58 · 383 阅读 · 0 评论 -
Pycharm搭建dajango+Sqlite3
那么我们学Django学的是什么?1. 目录结构规范2. urls路由方式3. settings配置4. ORM操作5. 模板渲染6.其它注意:Pycharm安装dajango出自:http://www.cnblogs.com/feixuelove1009/p/5823135.html...转载 2018-04-07 05:55:58 · 4104 阅读 · 1 评论 -
关于idea无法检测出lombok,导致代码爆红的处理
在IDEA的Settings -->Plugins的设置中选择下载好的插件安装包,然后重启即可。查看我的idea的版本是2017.2.6。restart IDEA就ok了。原创 2024-02-14 18:18:55 · 1119 阅读 · 0 评论 -
30秒明白tcp的3次握手
三次握手的本质是确认通信双方收发数据的能力首先,我让信使运输一份信件给对方,对方收到了,那么他就知道了我的发件能力和他的收件能力是可以的。于是他给我回信,我若收到了,我便知我的发件能力和他的收件能力是可以的,并且他的发件能力和我的收件能力是可以。然而此时他还不知道他的发件能力和我的收件能力到底可不可以,于是我最后回馈一次,他若收到了,他便清楚了他的发件能力和我的收件能力是可以的。这...原创 2019-05-06 15:34:46 · 136 阅读 · 0 评论 -
Java泛型
java泛型在平时开发中或者阅读项目源码的时候都见过他,我们虽然知道它,但是大多数我们也是对他并不太了解。这个星期我花了点时间重新复习了一下泛型的一些内容,这篇文章是对复习笔记的简单整理,里面内容只是整理一些我们经常忽视或者有很模糊的知识点。概述 类型擦除 泛型晋级使用 通配符 其他1. 概述泛型指的是可以将类型作为参数进行传递,其本质上就是类型参数化。比如:我们平时定义一个方法...原创 2019-05-07 11:25:14 · 127 阅读 · 0 评论 -
java语法优化小结
代码优化的目标是:1、减小代码的体积2、提高代码运行的效率代码优化细节1、尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是 final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为fi...转载 2019-01-10 18:52:15 · 213 阅读 · 0 评论 -
volatile关键字
java并发需要保证原子性,可见性,有序性。一、volatile关键字作用如下:1、volatile关键字,可以保证可见性。即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。2、volatile无法保证对变量的任何操作都是原子性的。3、volatile关键字能禁止指令重排序,所以volatile能在一定程度上保证有序性。4. synchronized关键字是防止...转载 2019-01-10 19:16:48 · 2319 阅读 · 0 评论 -
java高并发小结
一、线程1.线程的使用可以提升程序的性能。2.线程如果没有同步,操作的执行顺序是不可预测的。3.线程之间共享数据时,必须使用同步机制。不然数据会发生无法预料的变化。二、线程的安全性0.线程安全性:当多个线程访问某个对象时,这个对象不会出错。1.构建并发程序,必须正确使用线程和锁。要编码线程安全的代码,其核心在于要对状态访问操作进行管理,特别是共享和可变状态的访问。2.竞态条件:在并...转载 2019-01-10 19:13:41 · 158 阅读 · 0 评论 -
java历史版本新特性
已经到java17,java的发展真快的,java敢说第二,没人敢说第一啊,very hot。JDKJDK 全称 Java Development Kit,是 Java 开发环境。我们通常所说的 JDK 指的是 Java SE (Standard Edition) Development Kit。除此之外还有 Java EE(Enterprise Edition)和 Java ME(Micro Edition platforms)。Java SE 是做电脑上运行的软件。Java EE ..原创 2022-04-04 18:00:13 · 254 阅读 · 0 评论 -
java常用api简单统计
Java的Number类:Byte类型长度:1byte/8bit最大值:127 0b0111_1111最小值:-128 0b1000_0000Short类型长度:2byte/16bit最大值: 2^15 32767 0x7fff 0b0111_1111_1111_1111最小值:-2^15 -32768 0x8000 0b1000_0000_0000_0000Integer类型长度:4byte/32bit最大值: 2^31 -21亿 0x7fffffff最小值:-2^31 -21原创 2022-03-14 18:19:49 · 1272 阅读 · 0 评论 -
java的一些小知识总结
1、{@NotNull、@NotEmpty、@NotBlank的区别1.@NotNull:不能为null,但可以为empty;用在基本类型上。2.@NotEmpty:不能为null,而且长度必须大于0;用在集合类上面。3.@NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度必须大于0,即:必须有实际字符。}2、{Java不是完美的,Java的不足除了体现在运行...原创 2018-03-26 09:27:13 · 260 阅读 · 0 评论 -
Java实现网页爬虫
public class Demo { public static void main(String[] args) throws Exception { // 本程序内部异常过多为了简便,不一Try,直接抛给虚拟机 Long StartTime = System.currentTimeMillis(); System.out.prin...转载 2018-10-15 17:31:04 · 380 阅读 · 0 评论 -
ReplaceAll()和Replace的实战用法
关于转义:\ ==> \\\\==>\\\\"==>\"\"==>\\\"(拆分为\\+\")区别:1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);2)replaceAll的参数是regex,即基于正则表达式的替换,比如,可以通...原创 2018-11-12 13:25:15 · 5412 阅读 · 0 评论 -
java泛型中?和T有什么区别
泛型三种: [1]指定集合元素只能是T类型ArrayList<T> al=new ArrayList<T>();[2]集合元素可以是任意类型,这种没有意义,一般是方法中,只是为了说明用法ArrayList<?> al=new ArrayList<?>();[3]泛型的限定:? extends E:接收E类型或者E的子类...转载 2018-12-05 12:54:50 · 485 阅读 · 0 评论 -
redis和memcached的区别
1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;3、虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘;4、过期策略--memcache在set时就指定,例如set ...转载 2018-12-05 17:10:45 · 112 阅读 · 0 评论 -
Java之AOP解释
Aop是一种变成范式与语言无关,是一种程序设计思想面向切面(AOP)Aspect Oriented Programming面向对象(OOP)Object Oriented Programming面向过程(POP)Procedure Oriented ProgrammingC语言就是面向过程 Aop就是将通用逻辑从业务逻辑中分离出来...原创 2018-12-13 22:22:20 · 525 阅读 · 0 评论 -
Java8新特性
四大内置核心函数式接口:Consumner : 消费型接口 Supplier :供给型接口 Function Predicate:断言型接口Consumner<T> : 消费型接口void accept(T t);用途:对类型为T的对象应用操作,包含方法:void accept(T t);输出:购物消费10000.0元Supplier<T...转载 2018-12-09 23:37:52 · 114 阅读 · 0 评论 -
java知识小技巧
基础1.善用条件表达式,来表示一般的if,else。if(a>0) b=1;else b=-1; 可以直接写成 b=(a>0?1:-1);判断常量,变量,字符串,表达式时,也可以用switch()代替if,else。2.用foreach代替传统的for循环。3.能够封装的操作,尽量封装起来,减少冗余。4.类名用名词命名,方法名用动词或者动词短语命名,...转载 2019-01-10 18:43:09 · 283 阅读 · 0 评论 -
arraylist、map、queue、stack总结
arraylist:ArrayList具体提供的功能:属性 功能说明Count 获取 ArrayList 中实际包含的元素数 方法 功能说明Add () 将对象添加到 ArrayList 的结尾处Clear() 从 ArrayLis...原创 2019-02-23 15:33:31 · 289 阅读 · 0 评论 -
java的Scanner类
简单的实例:package com.java.mbt.utils;import java.util.Scanner;public class Test { /** * Scanner的简单示例 */ public static void main(String[] args) { //创建Scanner对象 ...原创 2019-05-15 19:55:10 · 116 阅读 · 0 评论 -
java的Random类
Random类(java.util)Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完...转载 2019-05-15 19:57:14 · 178 阅读 · 0 评论 -
获得程序当前路径
以通过调用System.getProperty("user.dir") 来获得。/**获得当前类的完整路径。最后一句*/ package org.outman.dms.server; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxExcepti...转载 2018-07-20 09:40:05 · 131 阅读 · 0 评论 -
jfreechart形成各种图
package com.dc.bd.system.util; import java.awt.Color;import java.awt.Font;import java.io.File;import java.io.FileOutputStream;import java.text.DecimalFormat;import java.text.NumberFormat; import org.j...转载 2018-07-13 10:05:27 · 6298 阅读 · 1 评论 -
Java中HashMap的四种遍历方法,及效率比较
package com.zhenzhigu.com; import java.util.HashMap;import java.util.Iterator;import java.util.Map.Entry; public class MapTest { public static void main(String[] args){ HashMap<Integer, S...转载 2018-03-26 10:15:20 · 1585 阅读 · 0 评论 -
几种任务调度的 Java 实现方法与比较
概要:几种任务调度的 Java 实现方法与比较几种任务调度的 Java 实现方法与比较前言任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。本文由浅入深介绍四种任务调度的 Java 实现:TimerScheduledExecutor开源工具包 Quartz开源工具包 JCronTab此外,为结合实现复杂的任务调度,本文还将介绍 Calendar 的一些使用方法。回页首Timer...转载 2018-03-26 10:05:59 · 269 阅读 · 0 评论 -
ImageUtils.java:图片处理工具类[裁剪/图片水印/文字水印/缩放补白/Base64加密解密]
用到的jar包:commons-beanutils-1.8.0.jarcommons-codec-1.10.jarpackage com.zhenzhigu.commons.util; import java.awt.AlphaComposite;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import...转载 2018-03-26 10:01:31 · 948 阅读 · 0 评论 -
maven项目在pom.xml中设置JDK编译版本
概要:每次update project项目JRE System Lib都会变化,那么,可以再pom.xml的<build>上加上 <plugins> <!-- 编译的时候使用JDK7和UTF8编码 ,--> <plugin> <artifactId>maven-co...转载 2018-03-26 09:55:25 · 5984 阅读 · 0 评论 -
Java的序列化和反序列化
package com.itshidu.io; import java.nio.charset.Charset;import java.util.Arrays; import com.itshidu.util.BitConverter; /** * 发送的请求数据 * 数据类型:String_255=0;String_65535=1;Int8=2;Int16=3;Int32=4;Int64=5;F...转载 2018-03-26 09:51:25 · 214 阅读 · 0 评论 -
java的数组(二维)
1、数组的创建和初始化:float[][] numthree; //定义一个float类型的2维数组numthree=new float[5][5]; //为它分配5行5列的空间大小numthree[0][0]=1.1f; //通过下标索引去访问 1行1列=1.1long[][] numfive=new long[5][]; ...原创 2018-03-26 09:45:14 · 296 阅读 · 0 评论 -
java的数组(一维)
目录:声明数组;初始化数组;查看数组长度;遍历数组;int数组转成string数组;从array中创建arraylist;数组中是否包含某一个值;将数组转成set集合;将数组转成list集合;Arrays.fill()填充数组;数组排序;复制数组;比较两个数组;去重复;查询数组中的最大值和最小值;备注:文内代码具有关联性。1.声明数组;1234String [] arr;int arr1[];St...转载 2018-03-26 09:23:09 · 142 阅读 · 0 评论 -
java的容器循环
1、数组的for循环/** * 数组for循环 */private static void test1() { int[] len = {1, 2, 3, 4, 5}; for (int i = 0; i < len.length;i++){ System.out.println(len[i]); }}2、集合的for循环private sta...原创 2018-03-30 14:14:46 · 276 阅读 · 0 评论 -
Java的守护线程Daemon
守护线程与非守护线程所谓守护线程是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因 此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。守护线程和用户线程的没啥本质的区别:唯一的不同之处就在于虚拟机的离开:如果用户线程已经全部退出运行了...原创 2018-03-24 16:35:31 · 153 阅读 · 0 评论 -
Java线程的一些api
Java中创建线程主要有三种方式:一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。(2)创建Thread子类的实例,即创建了线程对象。(3)调用线程对象的start()方法来启动该线程。[java] view plain copypackage com.thread; pub...原创 2018-03-24 16:29:07 · 331 阅读 · 0 评论 -
synchronized的用法介绍
synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象; 3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;...原创 2018-03-24 16:14:07 · 165 阅读 · 0 评论