-
Struts中action线程安全问题解析
所属栏目:[Java] 日期:2020-12-14 热度:72
【问题描述】 最近公司安排我面试Java的FreshMan,面试者一般是工作1年多点的新人(这里我就装老一下,其实我也才工作3年不到),在被问及Struts1和Struts2的Action的线程安全问题的时候,大多是支支吾吾,答不出所以然。所以在这里我整理一下我个人的理解。[详细]
-
Java集合类的组织结构和继承、实现关系详解
所属栏目:[Java] 日期:2020-12-14 热度:142
Collection继承、实现关系如下(说明 (I) 表示接口, (C) 表示Java类,--表示继承,――表示实现): (I) Iterable |-- (I) Collection |-- (I) List |―― (C) ArrayList |―― (C) LinkedList |―― (C) Vector |-- (I) Set |―― (C) HashSet |-- (I) Queue[详细]
-
Java中IO流文件读取、写入和复制的实例
所属栏目:[Java] 日期:2020-12-14 热度:194
//构造文件File类 File f=new File(fileName); //判断是否为目录 f.isDirectory(); //获取目录下的文件名 String[] fileName=f.list(); //获取目录下的文件 File[] files=f.listFiles(); 1、Java怎么读取文件 package com.yyb.file;import java.io.File;impo[详细]
-
MyBatis在insert插入操作时返回主键ID的配置(推荐)
所属栏目:[Java] 日期:2020-12-14 热度:149
很多时候,在向数据库插入数据时,需要保留插入数据的id,以便进行后续的update操作或者将id存入其他表作为外键。 但是,在默认情况下,insert操作返回的是一个int值,并且不是表示主键id,而是表示当前SQL语句影响的行数。。。 接下来,我们看看MyBatis如何[详细]
-
SpringBoot项目中的多数据源支持的方法
所属栏目:[Java] 日期:2020-12-14 热度:93
1.概述 项目中经常会遇到一个应用需要访问多个数据源的情况,本文介绍在SpringBoot项目中利用SpringDataJpa技术如何支持多个数据库的数据源。 具体的代码参照该 示例项目 2.建立实体类(Entity) 首先,我们创建两个简单的实体类,分别属于两个不同的数据源[详细]
-
java编程经典案例之基于斐波那契数列解决兔子问题实例
所属栏目:[Java] 日期:2020-12-14 热度:59
本篇章节讲解java基于斐波那契数列解决兔子问题。供大家参考研究具体如下: 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? package co[详细]
-
spring中的FactoryBean代码示例
所属栏目:[Java] 日期:2020-12-14 热度:127
上篇文章中我们介绍了浅谈Spring的两种配置容器,接下来我们就了解下spring中的FactoryBean的相关内容,具体如下。 从SessionFactory说起: 在使用SSH集成开发的时候,我们有时候会在applicationContext.xml中配置Hibernate的信息,下面是配置SessionFactory[详细]
-
java基于jdbc连接mysql数据库功能实例详解
所属栏目:[Java] 日期:2020-12-14 热度:188
本篇章节讲解java基于jdbc连接mysql数据库的方法。供大家参考研究具体如下: 一、JDBC简介 Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据[详细]
-
Java 正则表达式入门详解(基础进阶)
所属栏目:[Java] 日期:2020-12-14 热度:132
正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串 先来两篇基础知识对于以前没了解过正则表达式的朋友可以先看下面两篇文章 1、正则表达式30分钟入门教程 30[详细]
-
Java编程通过list接口实现数据的增删改查代码示例
所属栏目:[Java] 日期:2020-12-14 热度:72
List接口常用的实现ArrayList。 常用方法: add(Object obj) 增加一个元素 add(int index,Object obj) 在指定索引位置添加元素 remove(int index) 删除指定位置的元素 remove(Objiect) 从列表中删除元素 set(index,Object) 修改指定位置的元素 get(int index[详细]
-
Java编程利用socket多线程访问服务器文件代码示例
所属栏目:[Java] 日期:2020-12-14 热度:172
这篇文章将向大家展示Java编程利用socket多线程访问服务器文件代码示例,如果您想先了解Java多线程socket编程的基础知识,可以看下这篇文章:Java多线程编程实现socket通信示例代码。 接下来进入正文,我们看看利用socket多线程访问服务器代码: ServerMain.[详细]
-
Java编程子类能否重写父类的静态方法探索
所属栏目:[Java] 日期:2020-12-14 热度:199
今天突然讨论到了子类继承父类的静态方法问题,有人坚持说能写,有人说不能重写,那到底能不能冲写呢?这个问题很简单,测试一下就完了。 先是父类代码: public class Fu { public static void show() { System.out.println("父类的静态方法"); } public vo[详细]
-
Java编程小实例―数字时钟的实现代码示例
所属栏目:[Java] 日期:2020-12-14 热度:141
本文的实例是Java编程实现一个数字时钟,代码测试可用,练练手吧。代码如下: package me.socketthread;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.util.Cale[详细]
-
Java编程synchronized与lock的区别【推荐】
所属栏目:[Java] 日期:2020-12-14 热度:63
前言 本文介绍了Java编程synchronized与lock的区别的相关内容,如果您对synchronized与lock不太了解,这两篇文章 或许是不错的选择: Java 同步锁(synchronized)详解及实例 Java多线程基础――Lock类 正文 从Java 5之后,在java.util.concurrent.locks包下提[详细]
-
java多线程之CyclicBarrier的使用方法
所属栏目:[Java] 日期:2020-12-14 热度:65
java多线程之CyclicBarrier的使用方法 public class CyclicBarrierTest { public static void main(String[] args) { ExecutorService service = Executors.newCachedThreadPool(); final CyclicBarrier cb = new CyclicBarrier(3); for(int i=0;i3;i++){ Ru[详细]
-
Java内存溢出和内存泄露
所属栏目:[Java] 日期:2020-12-14 热度:126
虽然jvm可以通过GC自动回收无用的内存,但是代码不好的话仍然存在内存溢出的风险。 一、为什么要了解内存泄露和内存溢出? 1、内存泄露一般是代码设计存在缺陷导致的,通过了解内存泄露的场景,可以避免不必要的内存溢出和提高自己的代码编写水平; 2、通过[详细]
-
详解SpringBoot 创建定时任务(配合数据库动态执行)
所属栏目:[Java] 日期:2020-12-14 热度:79
序言:创建定时任务非常简单,主要有两种创建方式:一、基于注解(@Scheduled) 二、基于接口(SchedulingConfigurer). 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库中读取指定时间来动态执行定时任务,这时候基于接口的定时任务就大派用场了。[详细]
-
Java数据结构之循环队列简单定义与用法示例
所属栏目:[Java] 日期:2020-12-14 热度:57
本篇章节讲解Java数据结构之循环队列简单定义与用法。供大家参考研究具体如下: 一、概述: 1、原理: 与普通队列的区别在于循环队列添加数据时,如果其有效数据end == maxSize - 1(最大空间)的话,end指针又移动到-1的位置 删除数据时,如果head[详细]
-
基于mybatis高级映射多对多查询的实现
所属栏目:[Java] 日期:2020-12-14 热度:93
1.同以前一样,首先给一个使用多对多的需求, 要查询用户以及用户所购买的商品信息,经过分析用户和商品数据库级别没有任何关系,用户和商品需要建立关系,要通过订单,订单明细建立关系。根据这个需求,可以分析出需要查询的主表为: 查询主表:用户表 查询[详细]
-
SpringMVC实现表单验证功能详解
所属栏目:[Java] 日期:2020-12-14 热度:80
本章节内容很丰富,主要有基本的表单操作,数据的格式化,数据的校验,以及提示信息的国际化等实用技能。 首先看效果图 项目结构图 接下来用代码重点学习SpringMVC的表单操作,数据格式化,数据校验以及错误提示信息国际化。请读者将重点放在UserController.[详细]
-
ArrayList的自动扩充机制实例解析
所属栏目:[Java] 日期:2020-12-14 热度:90
用一道选择题作为本文的开始吧! ArrayList list = new ArrayList(20);中的list扩充几次 A.0 B.1 C.2 D.3 答案:A 1、ArrayList的默认初始容量为10,当然也可以自定义指定初始容量,随着动态的向其中添加元素,其容量可能会动态的增加,那么扩容的公式为:[详细]
-
Java编程Iterator迭代器设计原理及实现代码示例
所属栏目:[Java] 日期:2020-12-14 热度:144
我们知道迭代器(Iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素。那么Iterator迭代器的设计原理是什么呢?迭代器问什么定义了一个借口,而不是一个类呢? 我们假设迭代器迭代数据的功能定义为了一个类,那么,会有这样的问题。不同的[详细]
-
Java中BigDecimal的基本运算(详解)
所属栏目:[Java] 日期:2020-12-14 热度:165
BigDecimal一共有 4个够造方法 ,让来看看其中比较常用的两种用法: 第一种:BigDecimal(double val) Translates a double into a BigDecimal. 第二种:BigDecimal(String val) Translates the String repre sentation of a BigDecimal into a BigDecimal.[详细]
-
使用bitset实现毫秒级查询(实例讲解)
所属栏目:[Java] 日期:2020-12-14 热度:172
前言 因为业务要求api的一次请求响应时间在10ms以内,所以传统的数据库查询操作直接被排除(网络io和磁盘io)。通过调研,最终使用了bieset,目前已经正常运行了很久 bitset介绍 看JDK中的解释简直一头雾水,用我自己的理解概括一下 1.bitset的内部实现是long数[详细]
-
浅谈servlet3异步原理与实践
所属栏目:[Java] 日期:2020-12-14 热度:178
一、什么是Servlet servlet 是基于 Java 的 Web 组件,由容器进行管理,来生成动态内容。像其他基于 Java 的组件技术一样,servlet 也是基于平台无关的 Java 类格式,被编译为平台无关的字节码,可以被基于 Java 技术的 Web 服务器动态加载并运行。容器(Con[详细]