贼拉正经的技术博客

A

文章

大白话 | Java初学指♂男:“说说初学的误区与死结”( 壹 | 反射与Field )

思考 通常,我们这么给变量赋值: String name = "XiaoMing"; name = "DaMing"; 那么假如,我们不允许直接给name这个变量赋值,但我们提供与该变量名相同的字符串: String name = "XiaoMing"; // variable 中指定了要修改的变量 String variable = "name"; // 将 variable 中指定的变量修改为 value 的值 String value = "DaMing"; // 不允许使用以下方法直接给 name 赋值: // name = value; // name = "DaMing"; // 要求最终, name 的值为 DaMing 题目要求: 根据variable变量中的字符串name,找到和字符串名字相同的变量 将variable字符串中指定变量的值修改为DaMing 必须依靠字符串来修改该变量的值,而不是直接赋值 最终,变量name的值应该是DaMing,而不应该去修改变量variable的值 实例 想好了吗?让我们来看看下方的题解: public class Main....

大白话之Java级联调用:一个类,一条语句,同时调用好几个方法,串成一串

前言 之前偶然学习了一下Dart编程语言(不是重点),在学习官方手册时发现一个新的概念:级联调用。这是啥东西? 于是我百度了以后,发现在Java中也有类似的级联调用,那它们的区别又在哪儿呢? -📚-需要先了解的知识-📚- 语言内容链接 Java类、方法、变量null -⭐-评分-⭐- 知识等级实用性罕见性 基础实用少见 上手 级联调用很简单,只要稍微分析下下面的源码,就懂了。 !级联 首先我们不用级联来实现: public class 级联 { public static void main(String[] args) { //实例化Guys Guys guys = new Guys(); //执行方法 guys.boy(); guys.girl(); guys.gentleman(); guys.lady(); } } class Guys { public void girl() { System.out.println("Hey, girl!"); } public void boy() { System.out.println("Oh, boy!"....

实例带你学会简单的Java Thread多线程

前言 在学习本教程之前,你对以下知识有所了解: Java的类、方法、变量 extend的用法和用处 Java实例化 本篇教程难度:★☆☆☆☆ 多线程是计算机的灵魂,目的是为了同时做很多事情。 你可能不知道,早期的操作系统一次只能运行一个程序,如果要切换程序,必须关闭当前程序,早期的iPhone便是如此。 拷贝 废话少说,在你的IDE中新建一个Java项目或类用于存放本次多线程的代码。 我建议将类命名为:ThreadDemo,这样在拷贝代码后不需要修改类名。 复制下方代码到你的类中: import java.text.SimpleDateFormat; import java.util.Date; public class ThreadDemo { public static void main(String[] args) { //实例化当前类 ThreadDemo threadDemo = new ThreadDemo(); //调用动态类 threadDemo.run(); } public void run() { ThreadTest1 threadTest1 = new ....

实例带你获取多线程Thread的返回值之 (壹) - Callable的运行

前言 阅读本篇文章,你需要先理解以下知识: 多线程Thread的基本使用 (点我跳转) extends和implements 重写Override try catch错误处理 Java基础知识 回顾 回顾一下我们学过的Thread多线程,是继承了一个Thread类,然后调用run()方法来执行定义的类。 那么问题来了,有时候我们需要多线程传回一个计算的值给我们,Callable就很好地解决了我们的需求。 拷贝 在你的IDE中新建一个项目或一个类,并将类命名为CallableDemo,然后拷贝下面这些代码: import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; public class CallableDemo { public static void main(String[] args) { //实例化当前类 CallableDemo callableDemo = new Callab....

实例带你搞懂Java多线程&&线程池之(贰):简单的线程池应用

前言 这篇文章的代码非常简单,代码后的实验要求一定不要忽略,你一定能理解线程池的算法。 如没看过第一章,请先点我跳转 套用代码 打开你的IDE,并新建一个类,将下方代码拷贝: import java.lang.reflect.Executable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class TestThreadPool { ExecutorService executorService = Executors.newFixedThreadPool(2); public static void main(String[] args) { //实例化类 TestThreadPool testThreadPool = new TestThreadPool(); //调用动态方法 testThreadPool.threadPool(); } public void threadPool() { Thread1 thread1 = new Thr....

实例带你搞懂Java多线程&&线程池之(壹):线程池与多线程的关系和区别

前言 在此之前,你需要先对以下知识有所了解: Thread多线程 (点我跳转) Runnable多线程 (点我跳转) 接口基础知识 (点我跳转) 相信大家对多线程的概念不是很陌生,当我们需要让JVM虚拟机在后台运行一个方法时,我们常常会用到多线程。 线程池就相当于一个Thread调度系统,能让向线程池中提交的线程进行限制、阻塞和排队处理,让所有线程在你的指引下进行“最大化”的工作。 创建一个线程实例并运行测试 这里使用Runnable多线程接口进行演示。 打开你的IDE,并新建一个项目或类,将它命名为TestThreadPool,并将下面的代码替换进去: public class TestThreadPool { public static void main(String[] args) { //实例化类 TestThreadPool testThreadPool = new TestThreadPool(); //调用动态方法 testThreadPool.threadPool(); } public void threadPool() { Thread1 thread1 ....

WebFilter-SpringBoot过滤器注解实例讲解

简介 Filter也称之为过滤器,它是Servlet技术中最让人激动的技术,Web开发人员通过Filter技术,对Web服务器管理的所有Web资源:例如JSP,Servlet,静态图片文件或静态HTML文件等进行拦截,从而实现一些特殊的功能,例如实现URL级别的权限访问控制,过滤敏感词汇,压缩响应信息等一些高级功能。 可以在web.xml中配置过滤器的生效URL地址,它会过滤指定的URL地址经过的数据”/*”代表过滤所有的URL地址请求数据。 这样做的好处有什么呢,可以直接配置过滤所有的请求编码都设置为UTF-8,在response的时候也可以将响应编码也设置为UTF-8,这样就省去了写相同代码的步骤,优化代码。 Filter链 在一个Web应用中,可以开发编写多个Filter,这些Filter组合起来称之为一个Filter链。 Web服务器根据Filter在web.xml文件中的注册顺序,决定先调用哪个Filter,当第一个Filter的dofilter方法被调用时,web服务器会创建一个代表filter链的FilterChain对象传递给该方法,在doFilter()方法中,开发人....

一个实例带你理解JavaBean

在我理解看来,JavaBean与上文讲的接口有着相似的地方: 用于包装并传递一些特定的数据(如字符串、整数、类等等) 用于实现方法的传递 ······ 在我们获取用户上传的的数据时,如果只是用一个个变量去接收的话,就会造成重复代码的书写,并且代码多且繁杂,如果想要在其他地方使用这个变量就会很不好调用;假设需要用户上传的数据较多,每一次调用时都需要进行大量重复代码的书写,极大地影响了我们开发的效率,如果我们有一个可以去接收这些数据的类或者容器就可以实现代码的“高内聚、低耦合”。 这个容器就被称为JavaBean,JavaBean里的属性全都使用private修饰可以保证只能通过JavaBean里的getter方法和setter方法去设置或者获得类里的属性,当然setter和getter方法都是由public修饰,确保其他地方能正常使用这些属性 JavaBean的设计规则: JavaBean是一个公共类 JavaBean类具有一个公共无参的构造方法 JavaBean所有的属性定义为私有 JavaBean中,需要对每个属性都提供两个公共方法,set方法和get方法 定义Jav....

一个实例理解Java的接口(interface)用处与用法

最近突然想到一个问题:Runnable是如何允许我自定义执行内容而进行多线程处理的? 首先看使用Runnable创建多线程的方法: Runnable runnable = new Runnable() { @Override public void run() { System.out.println("hello~"); } }; Thread thread = new Thread(runnable); thread.run(); 我们可以看到首先创建了一个Runnable接口实例,Runnable接口源代码如下: package java.lang; /* * @author Arthur van Hoff * @see java.lang.Thread * @see java.util.concurrent.Callable * @since JDK1.0 */ public interface Runnable { public abstract void run(); } 可以看到的是在Runnable接口中只有一个run方法待用户定义。 当我们重写Runnable的....

A

© 2020 贼拉正经的技术博客

Powered by 菠萝博客 Bolo
Theme bolo-sakura by Mashiro
浏览 134013 文章 40 评论 118

GitHub: AdlerED
WeChat: 1101635162

京ICP备18063791号
  

www.stackoverflow.wiki-MySSL安全签章

主题 | Theme