
java
shining0903lxy
期待年薪100
展开
-
请求和响应乱码解决
请求乱码(1)针对post请求,只解决请求正文乱码request.setCharacterEncoding(“utf-8”);String name = request.getParameter(“name”);(2)针对get请求(不安全,一般不用)String name = request.getParameter(“name”);//使用String的构造方法.String(byte[] b,String charset);name = new String(name.getBytes原创 2021-02-05 13:55:31 · 269 阅读 · 0 评论 -
请求转发&&请求重定向的区别
请求重定向代码: response.sendRedirect(url);浏览器执行俩次,浏览器的url会发生变化,相当于浏览器请求响应了俩次请求转发代码: request.getRequestDispatcher(url).forward(request,reponse);转发是服务器内部进行的,浏览器只执行一次,因为转发是服务器内部的,所以url 不用写项目名,默认当前项目,所以转发只能在本网站内部,同意的情况,因为转发在项目内,所以效率高一些区别注:/的问题。(在客户端浏览器执行的/代原创 2021-02-05 10:48:50 · 223 阅读 · 0 评论 -
IDEA如何创建web项目&& 部署项目到tomcat&&启动项目
(1) file–>new–>project—>选择Java Enterprise —>右侧选中 SDK/Java EE /勾选web Application—>next—>(2) next 之后,如下,填写项目名称接下来再在web中的WEB-INF下创建两个文件夹:classes和lib(其中classes存放编译后输出的class文件,lib用于存放jar包)并且按照下面方式配置classes为Excluded 文件夹存放源码的lib 设置为jar li原创 2021-01-29 10:44:00 · 161 阅读 · 0 评论 -
Redis作用
作为业务数据库的缓存保存特定格式数据 key 固定为String类型,有五种values类型原创 2021-01-26 21:35:43 · 197 阅读 · 0 评论 -
JDK的动态代理
JDK的动态代理目的:在不修改源码的基础上,对已有方法增强代理的方式JDK的动态代理是基于接口的动态代理:要求:被代理对象最少实现一个接口。提供者:JDK官方涉及的类:Proxy涉及的方法: newProxyInstance():用于创建代理对象方法的参数:ClassLoader:类加载器,和被代理对象使用相同的类加载器。一般都是固定写法。Class[]:实现的接口。和被代理对象实现相同的接口。一般固定写法InvocationHandler: 如何代理。(想怎么增强方法,都写在这。)原创 2021-01-26 11:26:42 · 136 阅读 · 0 评论 -
IDEA中新moule创建类的时候没有class选项 无法创建类
异常如下:java包是灰色的点击new之后没出现class/pakage选项解决方法:(1)project structure—>modules–>sdk---->查看是添加否有jdk(2)java包—>Make directory as —>source root (前提第一步ok,我就是这一步解决的)...原创 2021-01-16 10:27:40 · 830 阅读 · 1 评论 -
java中static 和 final 关键字详解
static 关键字static 关键字属于一种修饰符,可以修饰成员属性,成员方法,内部类,代码块不能修饰构造器和局部变量使用static 修饰的成员称之为静态成员,没有static修饰的成员称之为普通成员(1) 修饰属性:随着类加载而加载到方法区,所有对象共享的a. 静态属性是所有对象共享的,一个对象更改,影响另外一个对象 普通属性是对象独享的b. 静态属性是随着类加载而加载(开辟空间),随着类的消亡而消亡,生命周期比较长 普通属性随着对象消亡而消亡c. 静态属性存储字方法区原创 2020-06-12 10:30:19 · 315 阅读 · 0 评论 -
Java面向对象节到总结细
面向对象概念面向过程&面向对象都是处理思考问题的方法面向过程概念:思考问题更加侧重与实现的过程,比较适合处理小型问题面向对象概念:以决策者的角色思考问题, 比较侧重于’谁来处理’,比较适合处理中大型问题面向对象和面向过程不是并不是完全独立的,一般来说宏观上先用面向对象的思想思考问题,细节上使用面向过程思考方式面向对象的实现的思路通过问题名词抽取法—>共同的行为属性抽象为类—>创建类—>创建对象如下图:类&对象的理解java最基本元素是类&对象原创 2020-06-10 16:26:26 · 164 阅读 · 0 评论 -
java接口详解
接口理解抽象类可以理解为半成品,里面可以有抽象方法也可以有具体方法里面全是抽象方法的类就是接口,使用interface 关键字三者比较普通类(均是具体类)–>抽象类(有抽象方法也有具体方法)—>接口(只有抽象方法)接口的好处解决了类的单继承的缺点与类解耦接口的基本特点接口的成员:静态常量+抽象方法静态常量是public static final 修饰,必须初始化,接口中这些修饰符可以省略,默认也是这些修饰符修饰抽象方法: public abstract 修饰,一样可以省略,原创 2020-06-10 16:25:35 · 281 阅读 · 0 评论 -
Java继承的详解及案例
闲来无事复习以下哈哈哈哈哈继承概念继承概念一个类不用自己定义属性和方法,就已经具备了以一个类的属性和方法如何产生继承关系//extends 关键字class Sub extends Super{}继承特点及好处继承特点&好处a. 提高代码重用性能b. 提高代码扩展性能和维护性c. 为多态打下基础特点a. 子类继承了父类所有属性和方法,只是私有的不能直接访问而是通过公共的方法访问比如getName() setName()方法b. 子类不能继承父类构造器(类似初始原创 2020-06-06 22:08:52 · 1415 阅读 · 0 评论 -
java中常用类Object详解
说明:Object是所有类的父类,任何类都默认直接或者间接继承Object,理论上由于所有的类都继承在Object类,因此省略了extends Object关键字。该类中主要有以下方法: toString(),getClass(),equals(),clone(),finalize(), 其中toString(),getClass(),equals是其中最重要的方法。Object类的构造Object类只有一个空参数构造器,虽然我们一般不new Object() 对象,但是需要一个空参数构造器,作用原创 2020-06-10 16:25:52 · 549 阅读 · 0 评论 -
集合底层结构和源码分析
集合java 中集合分为俩大类,一类保存单列数据的集合即Collection一类保存俩列数据的集合即Map单列集合Collection接口单列集合分俩类一类保存有序可重复List子接口,List的常见实现类的底层及源码https://blog.youkuaiyun.com/weixin_43548518/article/details/106173156一类保存无序不可重复Set子接口,Set的常见实现类的底层及源码https://blog.youkuaiyun.com/weixin_43548518/articl原创 2020-05-18 22:12:33 · 180 阅读 · 0 评论 -
Map 接口的俩个实现类Hashmap Hashtable Treemap底层结构&源码
Map 接口Java集合包括俩大类一类是保存单列数据的Collection接口,Collection又包括List 和Set子接口一类是保存双列数据的Map接口,常见的实现类为Hashmap , Hashtable TreeMap,PropertiesMap 接口的特点Hashmap 底层结构Hashmap 源码Hashtable 底层结构Hashtable 源码**Hashmap Hashtable 对比 **...原创 2020-05-18 21:33:48 · 438 阅读 · 0 评论 -
Set 的俩个实现类 HashSet TreeSet底层结构源码
前言Set 接口常见俩个实现类 :HashSet TreeSet倆个类的主要保存单列数据,数据无序不重复无序指写入顺序和取出顺序不一样HashSet TreeSet 基本操作都几乎相同,不同的是TreeSet 默认会将数据排序所以TreeSet 里面不能保存null 元素HashSet 底层结构和源码HashSet 创建底层直接创建了hashMaphashMap 底层是hashtable 就是hash表HashSet 底层维护了hashMap ,也是和hashMap 底层一样,是基于ha原创 2020-05-18 00:01:42 · 282 阅读 · 0 评论 -
ArrayList & linkedList & vector 底层结构
前言list 接口常见的三个实现类 :ArrayList / LinkedList / Vector三个类的主要保存单列数据,数据有序可重复创建对象,增删改查方法几乎一摸一样保存俩列数据的集合参考我的博客ArrayList底层结构和源码分析ArrayList 底层是可变数组,长度可变,数组长度不可变ArrayList list = new ArrayList();初始化ArrayList的时候底层创建了三个变量elementData 数组是Object[0] 数组长度为0size 为0原创 2020-05-17 17:50:48 · 601 阅读 · 1 评论 -
java 反编译软件
所谓反编译软件: 就是可以把.class文件转换为.java软件如下:原创 2020-01-09 16:36:08 · 97 阅读 · 0 评论