Java
Java永远学不厌的知识,基础知识深挖就有很大收获
这是你的路啊
自强不息 追求卓越
展开
-
彻底解决Eclipse导入项目java文件中文乱码问题
背景:最近想在eclipse跑一个java项目,结果发生了中文乱码的问题。这个中文乱码问题算是屡见不鲜了!不过,在我面前,它敢乱码!?活腻歪了。咱也不说废话,上去就是干!可能网上有很多解决乱码的方法,你试了一个又一个后,只想说,假博客,假博客,假博客。哈哈哈!咱也不敢说,咱也不敢问。但是这篇博客绝对不是假博客,解决eclipse中文乱码看这篇简单教程就够了!!!第一步: 点击eclipse上...原创 2020-04-17 15:53:17 · 2540 阅读 · 0 评论 -
JDBC
JDBC介绍:JDBC全称是javadatabasecommunicativy用于java程序连接数据库的中间层,给程序员提供了一种连接数据库的方式,但是它是连接关系型数据库的方式,用java语言写的,执行SQL语句的,ODBC是用c语言来写的,面向关系型数据库和非关系型数据库应用的全称Opendatabasebasecommunicativy。两者都为开发人员提供...原创 2020-01-07 19:30:39 · 153 阅读 · 0 评论 -
SpringBoot的优势
SpringBoot流行起来的原因? SpringBoot的出现是Java框架发展的一个必然趋势,因为技术的发展,更替,无疑是为了更好的适应开发。SpringBoot真正实现了”开箱即用“,真正实现了让Java开发人员专注于逻辑功能的开发,它不仅可以非常方便地创建生产级的Spring应用程序,还能轻松地通过一些注解与目前比较流行的微服务框架SpringCloud快速集成。 SpringBo...原创 2020-01-07 19:22:28 · 924 阅读 · 2 评论 -
servlet编程的深入理解
****我开发两年后,发现自己好多知识仅限于会用,具体的原理什么的都不懂。这是很可悲的,这样的后果就是我对于开发的话,只会一些常用的,出现了bug,解决的思路也比较窄。没有整体系统的知识网络结构图的话,后果很严重的。1.servlet是运行在Web服务器端的Java程序,可以生成动态的Web页面,属于客户端和服务器的中间层。2.jsp的底层就是servlet.3.我们知道Java是面向对象的...原创 2020-01-07 19:13:51 · 159 阅读 · 2 评论 -
怎样学好Java
我学习Java是失败的,因为我很久很久也没有找到一种适合自己的学习方法,一直都在模仿别人怎么学习,这是失败的。现在自己有一些感悟。如果能够重来,我会怎么学习Java呐。1.第一印象:我认为最好的事情是第一次,无论是学习还是什么,第一次是最好的时机,对此我举个例子,大家都知道第一印象吧,由于人这种动物特别相信第一眼自己看到的事情,所以第一印象是非常重要的。对于学习亦是如此。所以在第一次接触一个知...原创 2020-01-07 19:13:00 · 209 阅读 · 0 评论 -
调优总结(一)-- 一些概念(转载)
数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress引用类...原创 2018-09-11 08:01:25 · 115 阅读 · 0 评论 -
Java性能优化
1.public static void main(String args){HashMap<String, String> hm = new HashMap<String, String>;hm.put("111", "222");Set<Map.Entry<String, String>> entrySet = hm.ent...原创 2018-07-24 22:17:47 · 145 阅读 · 0 评论 -
应用hibernate中的hql语句对日期的操作总结
这篇文章是我在进行hibernate查询时由于百度搜索很杂,就亲手编写并测试成功后写的数据库中日期数据保存类型为DateUsers是数据库表明,date是数据1.输入两个日期,查数据库中数据在两个日期之间的数据 //这里的问号要传入的是日期对象 String hql = "from Users c where c.date between ? and...原创 2017-08-03 19:17:07 · 9212 阅读 · 0 评论 -
springmvc上传多张图片
在pom.xml中加入<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version><...原创 2017-10-21 15:54:04 · 506 阅读 · 0 评论 -
Springboot整合thymleaf
我在整合的过程中遇到了好多坑,还好,一一解决,如果你也遇到坑了,不要怕,看过来1.在pom中引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId...原创 2018-05-01 10:11:36 · 1804 阅读 · 2 评论 -
菜鸟学习shiro之入门的简单登录认证和身份认证1
最近学习了四郎,学的是天南海北,一头雾水,概念懂了,实践呐,就很是缺乏,于是跟着慕课网的视频教程敲敲代码果然加深了理解,话不多说,直接看代码Maven的依赖:<dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4...原创 2018-07-27 22:35:04 · 1038 阅读 · 0 评论 -
菜鸟学习shiro之用配置文件实现登录,身份和权限验证2
Maven的和第一篇,一样直接去复制使用这篇博客和上一篇没有多大的区别,区别之处就是上一篇没有实现权限认证,将在这一篇中实现,这里我们使用四郎给我们提供的内置类IniRealm,来实现登录,身份和权限验证,值得注意的是,IniRealm这个是引入的配置文件的形式来管理数据库中的数据的直接上代码吧:import antlr.StringUtils;import org.apache....原创 2018-07-28 08:08:46 · 482 阅读 · 0 评论 -
菜鸟学习shiro之用数据库作为Realm的认证源实现登录,角色身份的判定和权限验证3
Maven的的依赖和第一篇是一样的副本直接用上两篇讲的无论是内部类的封装领域还是配置文件的认证源,这篇开始讲最关心的数据库作为境界的认证源这里使用的是四郎给我们提供的另一个内置的类JdbcRealm这个是连接数据库的一个内部类,话不多说了,具体的代码如下:import com.alibaba.druid.pool.DruidDataSource;import org.apache...原创 2018-07-28 08:24:24 · 287 阅读 · 0 评论 -
mybatis mybatis plus怎么忽略映射字段
其实mybatis plus是比mybatis优秀的mybatis有的,他全有,它没的,或者不优秀的地方,mybatis plus全优秀,所以晚的总比早的好。今天要说的是:忽略字段问题,我被这个坑了好长时间,我开发项目呐有个需求是忽略数据库中字段,但是实体类还要有,我操,我目前的知识告诉我,@Transient这个是很好的选择,我操,我于是,开始搞,忘了说了,我的数据库中间件是mybatis ...原创 2018-11-09 21:20:04 · 45520 阅读 · 12 评论 -
菜鸟学习shiro之实现自定义的Realm,从而实现登录验证,身份验证和权限验证4
讲了那么多使用的内置的类从而实现四郎,现在讲自定义的境界首先行家的依赖依然是第一篇的那个依赖下边是自定义的境界:import org.apache.shiro.authc.AuthenticationException;import org.apache.shiro.authc.AuthenticationInfo;import org.apache.shiro.authc.Au...原创 2018-07-28 08:38:21 · 807 阅读 · 0 评论 -
mybatis plus 中 EntityWrapper源码解读
mybatis plus内置了好多CRUD,其中 EntityWrapper这个类就是。 这个类是mybatis plus帮我们写好的好多接口,就如同我们在dao层写好方法在xml中实现一样。 那么这个友好的类给我们实现了哪些方法呐,今天我们来通过看看源码,来具体说说,/** * Copyright (c) 2011-2014, hubin (jobob@qq.com). * &l...原创 2019-07-31 09:23:25 · 7769 阅读 · 2 评论 -
谈谈设计博客系统的需求分析
前言:因为之前做过一个基于前后端分离的博客系统,架构(前端是Node.js、后端是SpringBoot+mybatis plus+Mariadb+Druid+Tomcat)所以对于其中的难点,以及重点,以及设计方面积累了一些经验,现在分享一下,希望小伙伴尽量别踩坑了。基本功能: 首先这个博客系统的基本功能,是一定要有的,你可以参考CSDN的,大致上是,博客的文章类型的分类浏览、博客的推荐、博...原创 2019-08-19 23:56:33 · 1110 阅读 · 0 评论 -
Java ArrayList在foreach中remove的
我告诉你,这种方式会报错 @Test(expected = ConcurrentModificationException.class) public void testListForeachRemoveThrow() { List list = new ArrayList&amp;lt;&amp;gt;(); list.add(“1”); lis...原创 2018-09-08 23:05:11 · 973 阅读 · 0 评论 -
List去重并统计重复的数据
在写博客项目中,有个功能是博客分类标签和归档,这个当时我一直矛盾在存到数据库的格式问题,先是把id存成字符串这样好遍历查看分栏或者归档的文章,但是这个有个缺陷,删除博客和修改博客的时候巨麻烦,后来我试了另一种就是把博客id存成一个个类,修改博客和删除博客方便,但是显示时麻烦,鱼和熊掌不可兼得,于是果断采用第二种。在显示上运用这种方式来获取我所想要的数据。import java.util.Arra...原创 2018-11-28 22:13:51 · 4722 阅读 · 0 评论 -
Collection 结构及源码解析
这个集合的超类,就是集合的祖宗,是个接口,只提供接口 这个是关系public interface Collection&lt;E&gt; extends Iterable&lt;E&gt; { /** * Returns the number of elements in this collection. If this collection * co...原创 2018-09-16 11:07:21 · 954 阅读 · 0 评论 -
ArrayList源码分析
public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable { private static final long serialVersionUID = 8683452581122892189L;/** * D...原创 2018-09-16 11:20:18 · 162 阅读 · 0 评论 -
LinkedList源码分析
public class LinkedList&lt;E&gt; extends AbstractSequentialList&lt;E&gt; implements List&lt;E&gt;, Deque&lt;E&gt;, Cloneable, java.io.Serializable{ transient int size = 0; /*原创 2018-09-16 11:26:51 · 184 阅读 · 0 评论 -
HashSet的底层实现源码
我看了一下HashSet的底层实现,发现被骗了,因为我发现它的底层是依托HashMap来实现的。这就让我很气了啊,好吧,我不气了,还是来看看它怎么来实现的吧,首先我们知道,HashSet是实现了Set接口的,所以,我们说,它是不允许有重复元素的,那么它是怎么保证没有重复元素的呐,其实它的原理就是hashMap判断两个对象是否是同一个元素是一样的。简单先说一下,就是hashCode和equals,首...原创 2018-09-18 09:47:37 · 476 阅读 · 0 评论 -
Map集合的源码解读
1.我们先来看一下map的接口package java.util; public interface Map&lt;K,V&gt; { boolean isEmpty(); boolean containsKey(Object key); boolean containsValue(Object value); V get(Object key); ...原创 2018-09-21 17:28:58 · 1717 阅读 · 6 评论 -
Java集合框架之HashMap的源码解析
1.首先看一下HashMap的继承关系java.lang.Object ↳ java.util.AbstractMap&lt;K, V&gt; ↳ java.util.HashMap&lt;K, V&gt; public class HashMap&lt;K,V&gt; extends AbstractMap&lt;K,V&g原创 2019-07-31 15:51:06 · 187 阅读 · 0 评论 -
Java集合框架HashTable源码的解析
HashTable是和HashMap很类似的,但是有个区别是,前者线程安全啊,后者线程不安全啊,前者线程安全主要是方法上写了这个关键字synchronized首先看一下HashTable的继承关系java.lang.Object ↳ java.util.Dictionary&lt;K, V&gt; ↳ java.util.Hashtable&lt;K, ...原创 2018-09-22 17:13:22 · 200 阅读 · 0 评论 -
HashMap内部工作原理和运行机制
来解题,为什么成为优秀的HashMap呐? 下面我引入一张图,来证明我的观点:好家伙,把人家的底层实现方式全部吸收进来,实现数组+单向链表的方式,人家的优势也全部吸收进来,时间复杂度在没有hash冲突的情况下,CRUD竟然能达到惊人的O(1)能不优秀吗?我只想说,同九教,何而优?我分析人家这么优秀是因为出来的时间晚于List,正所谓长江后浪推前浪,后浪把前浪拍在沙滩上。 下边讲一...原创 2018-11-02 21:26:29 · 352 阅读 · 0 评论 -
HashMap HashTable ConcurrentHashMap三者的区别
首先比较一下:HashMap和HashTable的区别:(1)从安全性上考虑:HashMap底层没有多线程的机制,所以适用于单线程,HashTable适用于多线程机制,所以在多线程条件下HashTable是线程安全的。这个再啰嗦一句,Collections虽然呐是提供了一个方法来为HashMap实现多线程操作的,但是那个方法在一定情况下是不安全的。它只是部分方法同步,但是整体的方法不同步。(...原创 2018-10-30 21:36:38 · 1327 阅读 · 0 评论 -
List去重
我们知道List允许有相同的元素,那么我们怎么通过方法来让它去重呐,我们都会想到Set集合,Set集合是不允许有相同的元素的,所以我们可以借助Set集合,把重复的元素去掉。如果不是对象类型的去重。直接用Set集合转化就行。就像下面的 List list = new ArrayList(); list.add("aa"); list.add("dd"); ...原创 2018-10-31 21:22:05 · 538 阅读 · 0 评论 -
增强的for循环遍历期间删除集合元素的问题
前几天的京东一面中有个问题,大概意思是:有一个场景List集合,我向里边加入10个元素现在我想删除前五个,要求用一次for循环,问问该怎么做到? 我当时想这道题肯定没有那么简单,应该不是常规思路可以解决的。于是,我给出的我的解决思路是,开辟一个集合把后五个元素加入其中,然后覆盖掉原来的集合。显然这个回答面试官是不满意的。终于找个时间我自己测试了一下子。import java.uti...原创 2019-04-24 21:04:04 · 4135 阅读 · 4 评论 -
springboot整合redis
直接上代码吧1.首先pom中加入<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency...原创 2018-07-20 17:57:02 · 129 阅读 · 0 评论 -
springboot验证码
主要代码package springboot.com.yzm;import com.github.bingoohuang.patchca.color.RandomColorFactory;import com.github.bingoohuang.patchca.custom.ConfigurableCaptchaService;import com.github.bingoohuan...原创 2018-09-18 22:50:28 · 1493 阅读 · 2 评论 -
jetty的用法
https://www.jianshu.com/p/7643e72218a9转载 2018-10-14 22:12:39 · 393 阅读 · 0 评论 -
让面试官颤抖的Tomcat系统架构系列!
https://juejin.im/entry/5b87815651882542f1054e6c原创 2018-09-12 21:38:16 · 318 阅读 · 0 评论 -
IDEA maven导入本地jar
要用的idea的话,直接打开这个 输命令就行了 不是idea的话,打开cmd,直接输命令就行了。mvn install:install-file -Dfile=D:\sso.jar -DgroupId=org.wlgzs -DartifactId=sso -Dversion=1.0.0 -Dpackaging=jar然后在pom文件下引入依赖&amp;lt;depende...原创 2018-09-03 21:58:23 · 1806 阅读 · 0 评论 -
servlet后端过滤器的实现
javaEE过滤器的实现分为两步走注意:这个类要继承Filter这个接口,主要的代码是在dofilter这个方法中实现的,,大致思路是这样的,从session中取出用户的登录对象然后进行判断如果这个对象不为空,就让他继续进行访问这个项目,如果为空就强制让他转到登录界面,提示他登录失效等等,@Overridepublic void init(FilterConfig filte...原创 2017-12-09 16:55:15 · 345 阅读 · 0 评论 -
Java栈Stack
当我们目空所极,认为望穿一切时,我们才发现我们是多么的可悲的井底之蛙。有些java学者,认为自己已经把java学的出神入化了,这本身就是一种多么可悲的自大啊,在你用到的,你或许学了一点点,够你使用,但是你永远不知道自己只是学了那么一点点。你解决问题的粗鄙方式证明了,对于内嵌好的Java方法不够了解。 进入正题:讲一下栈,我们知道栈是数据结构里的,拥有着后进先出的特点。所以这个特点能为我们所用,栈...原创 2018-09-01 10:01:00 · 278 阅读 · 0 评论 -
Java之数组BitSet
保存数组位值的,有一个类非常方便就是BitSet这个类,这个类是非常的方便,不用遍历输出什么的,一个Bitset类创建一种特殊类型的数组来保存位值。BitSet中数组大小会随需要增加。这和位向量(vector of bits)比较类似。 它主要方法是 1 void and(BitSet set) 对此目标位 set 和参数位 set 执行逻辑与操作。 2 void andNot(B...原创 2018-09-01 10:46:32 · 2072 阅读 · 0 评论 -
Java中的hashcode方法
浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现。 为何Object类需要这样一...原创 2018-09-05 11:28:58 · 3270 阅读 · 7 评论 -
java字符串,你了解多少呐?
1.子串:String greeting = &amp;quot;Hello&amp;quot;;String s = greeting.substring(0,3);结果是:Hel由此可知,substring(int first,int end);是不包含end的子串。 2.检测字符串是否相等时不要用 == ,这个仅仅是引用位置上相同时才能判定这两个值是相等的。 3.常用的java String API...原创 2018-09-05 22:09:55 · 147 阅读 · 0 评论