
java
文章平均质量分 53
Hero_孙
JAVA是最好的语言!
展开
-
java 获取网络时间
使用java获取指定网址的网络时间原创 2023-06-08 16:12:53 · 617 阅读 · 0 评论 -
java面试2
1 java中右移和无符号右移的区别右移>> :该数对应的二进制码整体右移,左边的用原有标志位补充,右边超出的部分舍弃。无符号右移>>> :不管正负标志位为0还是1,将该数的二进制码整体右移,左边部分总是以0填充,右边部分舍弃。2 double和Double分别占用几个字节计算方式: 对象头+实例数据+对齐填充类型 64位(无压缩) boolean 1 byte 1 short 2 char 2 int原创 2021-12-07 16:38:48 · 926 阅读 · 0 评论 -
基本数据类型与其装箱基本类型比较
java的类型系统由两部分组成,基本类型和引用类型基本类型 int对应的装箱类型为 Integerjdk5增加字段装箱和自动拆箱,但是并没有完全抹去基本类型和装箱基本类型之间的区别1 基本类型只有值,而装箱类型则具有和他们值不同的同一性, 即两个装箱类型可以有同一个值,但是并不是一个对象2 基本类型具备完备的值,而包装类型除了基本类型对应的值之外,还有个非功能值null3 基本类型通常比包装类型更节省空间和时间...原创 2021-12-01 11:32:41 · 340 阅读 · 0 评论 -
Spring Security 使用
基于springboot2.5.4 + thymeleaf实现全线控制和认证项目结构:pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m...原创 2021-08-31 14:32:57 · 192 阅读 · 0 评论 -
logback-spring.xml配置
springboot 中日志输出的配置文件 logback-spring.xml注意:1 如果文件名称是logback.xml ,配置文件会在spring之前加载会报错,提示springProfile 无效2 <withJansi>false</withJansi><?xml version="1.0" encoding="UTF-8"?><configuration debug="true"> <!-- 项目名称 -...原创 2021-03-30 11:39:21 · 5267 阅读 · 0 评论 -
java数据结构
1稀疏数组1.1使用场景当一个数组中大部分的元素为0,或为同一个值的数组时,可以使用稀疏数组来保存该数组。1.2 代码实现import java.util.Arrays;/** * @ClassName: SparseArray * @Author: haojie.sun * @Description: 稀疏数组与普通二维数组的转化(五子棋) * @Date: 2021/2/18 9:58 * @Version: 1.0 */public class SparseAr原创 2021-02-19 17:10:35 · 146 阅读 · 0 评论 -
里氏替换原则(java 继承)
java继承时,需要遵循里氏替换原则(Liskov Substitution Principle,LSP)定义如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型S是类型T的子类型简单来说,所有引用父类的地方必须能透明地使用其子类的对象里氏替换原则的前提就是 父类或接口需要注意一下几点:1 子类必须完全实现父类的方法士兵用枪射击, 有多种枪,士兵射击时,有什么枪,就使用哪种.原创 2020-11-19 15:51:31 · 683 阅读 · 0 评论 -
java学习中的UML类图
目录百度百科对类图的定义从一个简单的Person类开始生成Person的类图类与类之间的关系泛化关系实现关系依赖关系关联关系聚合关系组合关系完整的类图如下附录1: smartuml附录2: powerdesigner百度百科对类图的定义类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。它既用于应用程序的系统分类的一般..原创 2020-11-19 11:27:05 · 1959 阅读 · 0 评论 -
jqueryeasyUI(4 创建拖放的购物车)
今天是七夕,单身狗请注意了,一大波狗粮正在前往购物车可以模拟下购物车jsp代码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitio...转载 2018-08-17 17:55:51 · 324 阅读 · 1 评论 -
jqueryeasyUI(5 创建课程表)
课程表代码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/转载 2018-08-17 18:06:47 · 1163 阅读 · 0 评论 -
jqueryeasyUI(6 菜单与按钮)
菜单 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/lo转载 2018-08-17 18:26:28 · 409 阅读 · 0 评论 -
JAVA反射机制
反射的描述 在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能就成为java语言的反射机制 要想解剖一个类,必须先要获取到该类的字节码文件底线,而解剖使用的就是Class类中的方法,所以先要获取到每一个字节码文件对于的Class类型的对象 反射是框架设计的灵魂,反射...原创 2018-10-09 11:34:57 · 155 阅读 · 0 评论 -
获取session 中的所有设置的属性与对应的值
HttpSession session =request.getSession(); Enumeration<?> enumeration = session.getAttributeNames(); // 遍历enumeration中的 while (enumeration.hasMoreElements()) { // 获取session键值 ...原创 2018-11-08 10:13:17 · 3259 阅读 · 0 评论 -
JAVA运行环境部署(linux)
1 JAVA环境的安装 a 解压tar-zxvfjdk-8u121-linux-x64.tar.gzb 复制文件到java 目录下cp -r jdk1.8.0_121/ /usr/local/javac 配置环境变量vi /etc/profile 然后按下键盘 的 i 键,进入到 insert,然后在文件的末尾加上配置JAVA_HOME=/usr/...原创 2019-04-24 20:09:22 · 452 阅读 · 0 评论 -
java 面试整理
1 多线程线程与进程的区别进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。一个程序至少一个进程,一个进程至少一个线程。创建线程的方式:继承Thread类,实现Runnable接口public class ...原创 2019-04-25 11:14:54 · 478 阅读 · 1 评论 -
(eclipse) springboot-1 hello world
hello world创建一个helloworld @Controller public class HelloWorld { @RequestMapping("/hello") public String hello() { return "helloworld"; ...原创 2019-04-25 12:03:49 · 265 阅读 · 0 评论 -
使用idea, 搭建Gradle+springboot+thymeleaf 项目
使用IDEA 2019gradle的相关配置可以参考创建完成之后,目录结构如下查看 build.gradleplugins { id 'org.springframework.boot' version '2.1.5.RELEASE' id 'java' id 'war'}apply plugin: '...原创 2019-05-30 18:52:48 · 1195 阅读 · 1 评论 -
gradle使用 (0 helloworld 程序)
1 下载gradlehttp://services.gradle.org/distributions/下载需要的版本 ,我这里下载的是gradle-5.4.1-all.zip, 解压配置环境变量 ,变量值为解压的路径path末尾加入%GRADLE_HOME%\bin;在cmd查看配置gradle的 jar的下载地址allprojects{...原创 2019-05-29 14:44:48 · 212 阅读 · 0 评论 -
使用junit报错
java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing是从生产环境直接下载的 junit-4.12.jar,在运行时报错原因:4.11以上版本不在包含hamcrest。解决方式:1 降低jar包版本,可以使用4.1.02 引入hamcrest-core-1.3.jar...原创 2019-07-19 13:47:35 · 466 阅读 · 0 评论 -
Maven介绍(0 pom.xml介绍)
dependencies元素包含多个项目依赖需要使用的 <dependencie>depedency 元素: 格式如下 <dependency> <groupId></groupId> <artifactId></artifactId> <version></vers原创 2018-07-23 15:57:18 · 165 阅读 · 0 评论 -
jqueryeasyUI(3 元素拖动)
创建3个DIV,<div id="div0" class="demo">div0</div><div id="div1" class="demo">div1</div><div id="div2" class="demo">div2转载 2018-08-17 17:40:59 · 186 阅读 · 0 评论 -
jqueryeasyUI(7 布局)
边框布局(border layout)提供五个区域:east、west、north、south、center。以下是一些通常用法:north 区域可以用来显示网站的标语。 south 区域可以用来显示版权以及一些说明。 west 区域可以用来显示导航菜单。 east 区域可以用来显示一些推广的项目。 center 区域可以用来显示主要的内容。<%@ page langua...转载 2018-08-20 09:13:07 · 264 阅读 · 0 评论 -
jqueryeasyUI(2 创建展开行明细编辑表单的 CRUD 应用)
需要使用到插件 datagrid-detailview.js 官网上的链接已失效 下载地址: https://download.youkuaiyun.com/download/aa15237104245/10611053代码index2.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" page...原创 2018-08-17 17:09:02 · 528 阅读 · 1 评论 -
springcloud ( 1 Eureka的使用 )
本篇主要介绍Eureka 实现服务的发现与注册,所有内容全部来自于互联网,仅供参考1 创建parent工程 新建maven工程,配置pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi...转载 2018-07-25 18:03:52 · 160 阅读 · 0 评论 -
netty(0 相关知识介绍)
目录 netty简介示例1 discard实例2 netty简介Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的...原创 2018-07-20 11:10:14 · 135 阅读 · 0 评论 -
java知识点梳理
目录1 Java中拦截器 过滤器 监听器的区别和原理 拦截器(Interceptor):过滤器(Filter):监听器(Listener):过滤器,监听器,拦截器的使用场景及区别2 SpringAOP的原理单例模式1 Java中拦截器 过滤器 监听器的区别和原理 拦截器(Interceptor):java中的拦截器是可以简单理解为“取你所想取”,忽视掉那些你不想要的东西; 拦截器工作的时间可以使动作执行之前,或者动作执行之后; 例如,登录拦截器,就可以放到...原创 2018-07-19 09:25:52 · 211 阅读 · 0 评论 -
IDEA的使用(1 springboot从无到hello world)
随着IDEA的出现,原来越多的JAVA程序员在使用IDEA,为了跟上时代的步伐,从鄙视链中向到上一级,学习IDEA的使用新建springboot项目然后等待下载每次下载都很慢,很大概率会下载失败,不知道有没有什么好的建议,已经失败好多次了浏览器是可以访问https://start.spring.io/ 的,失败若干次之后,终于成功了项目 结构启动方...原创 2018-07-12 10:14:32 · 725 阅读 · 0 评论 -
Spring详解(0 控制反转和依赖注入 AOP简介 )
目录依赖注入控制反转和依赖注入的关系Spring中的依赖注入AOP 面向切面编程Spring 框架本身的四大原则1) 使用pojo进行轻量级和最小侵入式开发2) 通过依赖注入和基于接口编程实现送耦合3) 通过AOP和默认习惯进行声明式编程4) 使用AOP和模板(template) 减少模式化代码依赖注入依赖注入是容器负责创建对象和维护对象间的依赖...原创 2018-07-23 17:30:09 · 5747 阅读 · 0 评论 -
Webservice简单使用
eclipse新建web 项目编写一个servicepackage service;public class HelloService { public String say(String name) throws InterruptedException{ return "demo "+name; }}选择该项目,然后选择新建webse...翻译 2018-07-17 17:34:05 · 249 阅读 · 0 评论 -
java NIO相关知识点 (1)
目录 NIO中的几个重要概念 1 通道 Channel2 缓冲区3 选择器NIO中的几个重要概念通道,缓冲区,选择器 1 通道 Channel类似于流,但是通道是双向的,而流是单向的通道支持异步读写数据,流只能同步读写通道的数据总是要先读到一个buffer或者从一个buffer写入.常用的通道有4种FileChannel 从文件中读写Data...原创 2018-07-19 11:30:31 · 237 阅读 · 0 评论 -
java 操作mongoDB
package com.shj.mango;import java.util.ArrayList;import java.util.List;import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCol...原创 2018-05-23 15:49:40 · 143 阅读 · 0 评论 -
使用eclipse搭建分布式maven项目
1 准备工作(以下版本为个人版本) maven 3.3.9 jdk 1.8eclipse2 分布式介绍分布式项目中,往往不同的项目需要同一个实体类,或者是共享工具类,整个系统搭建采用大型项目开发方式,使用maven继承和聚合,形参多个子项目,方便团队开发,调试和一键部署项目结构|-wx-parent pom |- wx-common jar |-wx=...原创 2018-03-09 16:46:35 · 5338 阅读 · 0 评论 -
Netty使用(1 TIME协议)
TIME协议的介绍 TIME协议 此协议提供了一个独立于站点的,机器可读的日期和时间信息。时间服务返回的是以秒数,是从1900年1月1日午夜到现在的秒数详情查看 百度百科实例功能介绍在不接受任何请求时他会发送一个含32位的整数的消息,并且一旦消息发送就会立即关闭连接因为我们将会忽略任何接收到的数据,而只是在连接被创建发送一个消息,所以这次我们不能使用 channelRead...原创 2018-07-20 14:17:35 · 224 阅读 · 0 评论 -
springcloud (2 服务消费者(rest+ribbon) )
本篇主要介绍Eureka 实现服务的发现与注册,所有内容全部来自于互联网,仅供参考 在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feignribbon Ribbon是Netflix发布的云中间层服务开源项目,主要功能是提供客户端负载...翻译 2018-07-26 16:59:36 · 195 阅读 · 0 评论 -
jqueryeasyUI(1 创建CRUD网格)
需要使用到一个js的插件,但是中文网上的链接已失效,到时访问失败,jquery.edatagrid.js 下载地址: https://download.youkuaiyun.com/download/aa15237104245/10608762jsp网页<%@ page language="java" contentType="text/html; charset=UTF-8" p...原创 2018-08-16 18:12:17 · 198 阅读 · 0 评论 -
jqueryeasyUI(0 创建CRUD应用)
easyUI是一套基于jquery的UI插件,easyUI的目标就是帮主web开发者轻松点打造出丰富且美观的UI界面,开发者不需要编写复杂的js,也不需要对css样式有深刻的了解,只需要连接一定的html标签优点1 基于jquery用户界面插件的集合2 为一些当前用于交互的JS应用提供必要的功能3 easyUI支持两种页面渲染的方式 js方式 (如:$('#p').panel({....原创 2018-08-16 17:16:30 · 606 阅读 · 0 评论 -
线程组(ThreadGroup)
线程组表示一个线程的集合,线程组也可以包含其他线程组;线程组构成一棵树,在树中,除了出事线程外,每个线程都有一个父线程组允许线程访问有关自己的线程组信息,但是不允许它访问有关线程组的父线程组或其他任何线程组的信息public ThreadGroup(String name)构造一个新线程组。新线程组的父线程组是目前正在运行线程的线程组。 不使用任何参数调用父线程组的 checkAcce...原创 2018-08-15 12:00:05 · 1564 阅读 · 0 评论 -
springcloud ( 6 分布式配置中心(Spring Cloud Config))
本篇内容主要来自于互联网,仅供参考分布式配置中心简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是...转载 2018-07-27 18:05:25 · 297 阅读 · 2 评论 -
springcloud ( 5 路由网关(zuul) )
本文档来自互联网,作者只是整理,仅供参考zuul基于Spring的微服务结点在能力上没有高低贵贱之分,但是在角色上会分为边缘服务和内部服务两部分。内部服务顾名思义是为对内暴露服务的结点,供架构内部来调用;边缘服务是对外部网络暴露的服务结点,也就是对外API接口。开发人员头疼的地方:为了防止我的程序在网络上被人攻击,我们需要写各种权限机制,这些机制在每个微服务结点都要实现一次。一旦鉴权上...转载 2018-07-27 14:40:47 · 579 阅读 · 0 评论 -
springcloud ( 4 断路器(Hystrix) )
本文档来自互联网,作者只是整理,仅供参考 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,S...转载 2018-07-27 11:56:56 · 129 阅读 · 0 评论