-
基于多线程并发的常见问题(详解)
所属栏目:[Java] 日期:2020-12-14 热度:100
一 概述 1.volatile 保证共享数据一旦被修改就会立即同步到共享内存(堆或者方法区)中。 2.线程访问堆中数据的过程 线程在栈中建立一个数据的副本,修改完毕后将数据同步到堆中。 3.指令重排 为了提高执行效率,CPU会将没有依赖关系的指令重新排序。如果希[详细]
-
java.lang.Void类源码解析
所属栏目:[Java] 日期:2020-12-14 热度:81
在一次源码查看ThreadGroup的时候,看到一段代码,为以下: /* * @throws NullPointerException if the parent argument is {@code null} * @throws SecurityException if the current thread cannot create a * thread in the specified thread group. */ p[详细]
-
spring boot实战之使用JSP的示例
所属栏目:[Java] 日期:2020-12-14 热度:182
前后端分离的架构有其优势,但具体情况具体分析,并不是任何时候使用前后端分离架构都是合适的。我最近就体会到其中的坑,因为部门属性的问题,前端项目占比较低,所以公司前端基本上都是新手,结果就是后端接口完成了一个多月,前端还在加班加点的赶。前后[详细]
-
Java AtomicInteger类的使用方法详解
所属栏目:[Java] 日期:2020-12-14 热度:125
首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下: public class Sample1 { private static Integer count = 0; synchronized public static void increment() { count++; }} 以下是AtomicInteger的: public class Sample2 { private stat[详细]
-
java集合类源码分析之Set详解
所属栏目:[Java] 日期:2020-12-14 热度:172
Set集合与List一样,都是继承自Collection接口,常用的实现类有HashSet和TreeSet。值得注意的是,HashSet是通过HashMap来实现的而TreeSet是通过TreeMap来实现的,所以HashSet和TreeSet都没有自己的数据结构,具体可以归纳如下: Set集合中的元素不能重复,即[详细]
-
java求两个数中的大数(实例讲解)
所属栏目:[Java] 日期:2020-12-14 热度:53
java中的max函数在Math中 应用如下: int a=34; int b=45; int ans=Math.max(34,45); 那么ans的值就是45. 以上这篇java求两个数中的大数(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。[详细]
-
读取xml文件中的配置参数实例
所属栏目:[Java] 日期:2020-12-14 热度:108
paras.xml文件 xml version="1.0" encoding="UTF-8"beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.spri[详细]
-
浅谈Mybatis通用Mapper使用方法
所属栏目:[Java] 日期:2020-12-14 热度:112
对单表进行增删改查是项目中不可避免的需求,Mybatis的通用Mapper插件使这些操作变得简单 添加maven依赖 在对应工程的pom.xml文件中添加 dependency groupIdjavax.persistence/groupId artifactIdpersistence-api/artifactId version1.0/version/dependencyd[详细]
-
浅谈Java回收对象的标记和对象的二次标记过程
所属栏目:[Java] 日期:2020-12-14 热度:80
一、对象的标记 1、什么是标记?怎么标记? 第一个问题相信大家都知道,标记就是对一些已死的对象打上记号,方便垃圾收集器的清理。 至于怎么标记,一般有两种方法:引用计数和可达性分析。 引用计数实现起来比较简单,就是给对象添加一个引用计数器,每当有[详细]
-
基于Spring@Autowired注解与自动装配详谈
所属栏目:[Java] 日期:2020-12-14 热度:180
1 配置文件的方法 我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上 get 和 set方法。 Boss 拥有 Office 和 Car 类型的两个属性: 清单 3. Boss.java package com.baobaotao; pu[详细]
-
Struts 2 配置Action详解
所属栏目:[Java] 日期:2020-12-14 热度:153
实现了Action处理类之后,就可以在struts.xml中配置该Action,从而让Struts 2框架知道哪个Action处理哪个请求,即建立用户请求和Action类之间的对应关系。 Action基本配置 Struts 2使用package包来组织Action,在struts.xml中通过使用package下的action元素[详细]
-
基于MyBatis的简单使用(推荐)
所属栏目:[Java] 日期:2020-12-14 热度:183
MyBatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Ob[详细]
-
Java日期时间以及日期相互转换
所属栏目:[Java] 日期:2020-12-14 热度:65
Java日期时间,以及相互转化,供大家参考,具体内容如下 package com.study.string;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;public class[详细]
-
基于Java中对域和静态方法的访问不具有多态性(实例讲解)
所属栏目:[Java] 日期:2020-12-14 热度:154
1.将方法调用同方法主体关联起来被称为 2.编译期绑定(静态)是在程序编译阶段就确定了引用对象的类型 3.运行期绑定(动态绑定)是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法 4.除了static方法和final方法(private方法属于fi[详细]
-
Java输出打印工具类封装的实例
所属栏目:[Java] 日期:2020-12-14 热度:131
在进行Java打印输出,进行查看字段值的时候,觉得每次写了System.out.println之后,正式发布的时候,还得一个个的删掉,太麻烦了,经过别人的指教,做了一个Java的打印输出封装类,只为记录一下这个工具类。 不多说,贴代码 package com.dyf.utils; /** * 描[详细]
-
Jdbc连接数据库基本步骤详解
所属栏目:[Java] 日期:2020-12-14 热度:165
Jdbc连接数据库的基本步骤,供大家参考,具体内容如下 package demo.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JdbcConn {/** *JDBC[详细]
-
springboot扫描自定义的servlet和filter代码详解
所属栏目:[Java] 日期:2020-12-14 热度:142
这几天使用spring boot编写公司一个应用,在编写了一个filter,用于指定编码的filter,如下: /** * Created by xiaxuan on 16/11/1. */@WebFilter(urlPatterns = "/*",filterName="CharacterEncodeFilter",initParams={ @WebInitParam(name="encoding",valu[详细]
-
Java 从互联网上爬邮箱代码示例
所属栏目:[Java] 日期:2020-12-14 热度:100
网页爬虫:其实就是一个程序用于在互联网中获取符合指定规则的数据。 package day05; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.util.ArrayList; import java.util.[详细]
-
快速理解Java垃圾回收和jvm中的stw
所属栏目:[Java] 日期:2020-12-14 热度:55
Java中Stop-The-World机制简称 STW ,是在执行垃圾收集算法时,Java应用程序的其他所有线程都被挂起(除了垃圾收集帮助器之外)。Java中一种全局暂停现象,全局停顿,所有Java代码停止,native代码可以执行,但不能与JVM交互;这些现象多半是由于gc引起。 GC[详细]
-
java实现网页验证码功能
所属栏目:[Java] 日期:2020-12-14 热度:190
本文实例为大家分享了java网页验证码的实现代码,供大家参考,具体内容如下 Servlet: package cn.bdqn.servlet; import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.htt[详细]
-
浅谈synchronized方法对非synchronized方法的影响
所属栏目:[Java] 日期:2020-12-14 热度:65
StringBuilder是线程不安全的类。 StringBuffer是线程安全的,因为它里面的方法加了synchronized。 今天写了一段代码测试了一下:用循环开启10个线程,调用StringBuffer(StringBuilder)的append追加1 到 10 。 结果预期一样:线程不安全的StringBuilder会[详细]
-
Java使用wait() notify()方法操作共享资源详解
所属栏目:[Java] 日期:2020-12-14 热度:117
Java多个线程共享资源; 1)wait()、notify()和notifyAll()方法是本地方法,并且为final方法,无法被重写。 2)调用某个对象的wait()方法能让当前线程阻塞,并且当前线程必须拥有此对象的monitor(即锁,或者叫管程) 3)调用某个对象的notify()方法能够唤醒[详细]
-
简单了解Spring中常用工具类
所属栏目:[Java] 日期:2020-12-14 热度:61
文件资源操作 Spring 定义了一个 org.springframework.core.io.Resource 接口,Resource 接口是为了统一各种类型不同的资源而定义的,Spring 提供了若干 Resource 接口的实现类,这些实现类可以轻松地加载不同类型的底层资源,并提供了获取文件名、URL 地址[详细]
-
详解javaweb中jstl如何循环List中的Map数据
所属栏目:[Java] 日期:2020-12-14 热度:178
详解javaweb中jstl如何循环List中的Map数据 第一种方式: 1:后台代码(测试) ListMapString,Object list = new ArrayListMapString,Object(); MapString,Object map = null; for (int i = 0; i 4; i++) { map = new HashMapString,Object(); map.put("id",[详细]
-
Java语言Lang包下常用的工具类介绍
所属栏目:[Java] 日期:2020-12-14 热度:173
无论你在开发哪中 Java 应用程序,都免不了要写很多工具类/工具函数。你可知道,有很多现成的工具类可用,并且代码质量都很不错,不用你写,不用你调试,只要你发现。 在 Apache Jakarta Common 中, Lang 这个 Java 工具包是所有 Apache Jakarta Common 项[详细]