#jd

老司机教你用原生JDK 撸一个 MVC 框架!!!

其实 Spring MVC 是一个基于请求驱动的 Web 框架,并且也使用了前端控制器模式来进行设计,再根据请求映射规则分发给相应的页面控制器进行处理,具体工作原理见下图。 在这里,就不详细谈相关的原理和实现细节了,感兴趣的话,可以读一下这方面的书籍。我在网上...

ConcurrentHashMap底层实现原理(JDK1.8)源码分析

  ConcurrentHashMap相比HashMap而言,是多线程安全的,其底层数据与HashMap的数据结构相同,数据结构如下:    说明:ConcurrentHashMap的数据结构(数组+链表+红黑树),桶中的结构可能是链表,也可能是红黑树,红黑树是为了提高查找效率。  1、类的继承关系 publiccla...

【JDK8特性】Stream接口详解

  Java8新添加了一个特性:流Stream。Stream让开发者能够以一种声明的方式处理数据源(集合、数组等),它专注于对数据源进行各种高效的聚合操作(aggregateoperation)和大批量数据操作(bulkdataoperation)。  StreamAPI将处理的数据源看做一种Stream(流),Str...

【JDK8特性】Optional包装类详解

    Optional类是Java8为了解决null值判断问题,借鉴googleguava类库的Optional类而引入的一个同名Optional类,使用Optional类可以避免显式的null值判断(null的防御性检查),避免null导致的NPE(NullPointerEx...

【JDK8特性】lambda表达式详解

  Lambda表达式是JDK8的一个新特性,可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。  JDK也提供了大量的内置函数式接口供我们使用,使得Lambda表达式的运用更加方便、高效。  虽然使用Lambda表达式可以对某些接口进行简单的实现,但并不是...

Mac下多版本JDK安装及管理

  在Java项目中,经常对JDK版本有不同的要求,可是不可能为了某个项目的运行重新下载不同版本JDK进行安装,这样就涉及到对本地环境中多个JDK版本的管理。  Mac的JDK都是安装到一个指定目录的:/Library/Java/JavaVirtualMachines/,因此可以在这个目录下查看自己安装的所以JDK: ...

Java通过JDK动态代理简单的实现一个AOP

首先说一下,因为自己还没有去研读spring的AOP的源码,只是大致知道其功能,便想着自己先手动实现一个先看看,觉得这样以后研读源码的时候会收获更多!实现:做一个在添加注解的方法执行之前,可以先执行另一个方法。类似AOP(@Brfore),不明白的同学可以去百度下,这边只做一个简单的现实。首先准备一个接口IEat,作为...

Java动态代理机制详解(类加载,JDK 和CGLIB,Javassist,ASM)

class文件简介及加载    Java编译器编译好Java文件之后,产生.class文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class文件内的信息,生成对应的Class...

因微信SSJD分享接口升级,分享变化

4月25日发版发现的微信分享问题,已确认是腾讯微信开发团队更新的分享的策略,而我们未能收到通知依然沿用老代码造成的。目前已经解决,解决方案如下:     微信分享的shareUrl域名必须与当前环境的安全域名保持一致,故现在改为分享增加一个中转页面,所有的分享都先跳转到...

springboot+mybatisplus+sharding-jdbc分库分表实例

现在Java项目使用mybatis多一些,所以我也做了一个springboot+mybatisplus+sharding-jdbc分库分表项目例子分享给大家。要是用的springboot+jpa可以看这篇文章:https://www.cnblogs.com/owenma/p/11364624.html其它的框架内容不做...

Tomcat和JDK的内存配置

1)堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在Java虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heapmemory)”。 可以看出JVM主要管理两种类...
代码星球 ·2021-01-23

将jdbc连接明文密码加密方案

   最近没有及时写文章,把最近处理的几个问题集中了一下写出来。这篇文章是关于如何处理spring项目中引入数据库连接等使用的用户名和密码的明文进行加密。防止被他人窃取利用。我们选择的加密方式为DES加密解密方案。直接上代码:1.首先要编写一个DES加密解密工具。packagecom.nc...

Linux下安装java的jdk和配置环境变量

每次感觉配这个超级简单但是每次都要查下记一下好了Linux下安装jdk,步骤如下  1:下载jdk包:本章使用的为后缀为tar.gz的文件(不需要安装),如jdk-8u111-linux-x64.tar.gz  下载RPM包:wget--no-check-certificate--no-cookie...

tomcat7+jdk的keytool生成证书 配置https

目前只会使用jdk的keytool来生成证书。本文仅介绍这种方法。1Windows下:1.1生成keystore文件及导出证书打开控制台:运行:%JAVA_HOME%inkeytool-genkey-aliastomcat-keyalgRSA按照要求一步步的输入信息,问你国家/地区代码的时候,输入cn。输入密码的时候...

jdbc操作

jdbc技术使用java代码(程序)发送sql语句的技术。jdbc接口核心APIjdbc相关结构在java.sql.*和javax.sql.*包下。|-Driver接口:表示java驱动程序接口。所有的具体的数据库厂商要来实现此接口。  |-connect(url,properties):连接数据库的方法。  url:...
代码星球 ·2021-01-23
首页上一页...1112131415...下一页尾页