对于学习语言本身我觉得最高效的方法就是看一本该领域的经典入门书,比如对于 Java 就是 Thinking in Java,这是我称为第一维度的书,聚焦于一个技术领域讲得透彻清晰。 所以,若你真想在程序员这条道路上从入门到精通,选择了这个维度作为基础维度,就需要不断在这个维度去精进。有一本书叫《程序员修炼之道:从小工到专家》 和本文的主题很类似,只是写作的维度更贴近细节。 让你的用户满意 建立注重实效的团队 无处不在的自动化 而过去十年我一直都在与这些问题做斗争,当这些问题倒下而你还在程序员的阵地上,想必那时你就会让人感受到那种「无名的品质」,那么你也就走完了程序员从入门到精通之路 … 这是一篇从入门到精通的索引,定位程序员的职业道路,学会学习的方法与路径,保持自省的态度,达成程序员这一维的精通,再走向多维。路漫漫,吾等将持续求索。 第一个层面达成了品质和效率,第二个层面达成了扩展性,具备了很快从一个细分领域到另一个关联领域的「精通」能力。
,JS,Python,Scala…… Java 语言版本迭代 1991年 Green 项目,开发语言最初命名为 Oak (橡树) 1994年,开发组意识到 Oak 非常适合于互联网 1996年,发布 JDK {1, 2, 3}; 一维数组的引用 通过角标的方式调用 // 数组的角标(或索引)从0开始,到数组的长度-1结束 names[0] = "王铭"; names[1] = "王赫"; names[2] JDK8 中新的日期时间 API涉及到的包 java.time:包含值对象的基础包 java.time.chrono:提供对不同的日历系统的访问 java.time.format:格式化和解析时间和日期 randomAccessFile.seek(3); // 保存指针3后面的所有数据到 ByteArrayOutputStream / StringBuilder 中 > clazz3 = Class.forName("cn.tedu.java.Person"); // clazz3 = Class.forName("java.lang.String");
算术操作符 + - * / % ** // >>> a = 5 >>> a = a + 3 >>> a =+ 3 >>> b=3 >>> b -= 1 >>> b 2 >>> a 3 >>> a = >>> 10 // 8 1 >>> 3.0 // 2 1.0 >>> >>> 5 % 2 1 >>> 11 % 2 1 >>> 2 ** 3 8 >>> 3 ** 2 9 >>> 优先级问题 > >> -3 * 2 + 5 / -2 - 4 -12.5 >>> (3 < 4) and (4 < 5) True >>> -3 ** 2 -9 >>> -(3 ** 2) -9 >>> 3 ** -2 我方挂,播放撞机音乐 修改我方飞机图案 打印“Game over” 停止背景音乐,最好淡出 了不起的分支和循环2 按照100分制,90分以上成绩为A,80到90 为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。
java开发入门: 1.1:java来源: java是一门高级计算机语言,他是在1995年由SUN公司推出来的,不过后来由Orzcle公司巨资收购。 我们知道java是很受市场欢迎的,当时SUN公司将java划分为3个技术平台:javaSE,javaEE,javaME。 3:安全性,java语言它不支持指针,对内存的访问都是要用过对对象的实例变量来实现,所以它会更安全。 src.zip 归档的Java源代码,在这里我们可以查看java相关的一些源代码 3,第一个java程序: 我们进入JDK安装目录下的bin目录,我们先打开刚刚安装的jdk和jre,这里注意第一次安装的是 如下 1: 2:点击查看 3:点击选项,出现如下 4:点击查看 5我们在这里看,往下拉,将隐藏已知文件的扩展名前面的对勾去掉即可。 设置完毕。
将自己学习的Java基础整理出来,方便复习和记忆~~ 一、Java的历史 1、Java开发分成了3个方向 Java SE:主要用于桌面程序的开发,学习Java EE和Java ME的基础 Java EE (2)数组存储在Java堆的连续内存空间。 (3)数组是一个固定长度的数据结构,一旦声明,不能改变数组的长度。 (4)如果没有明确的初始化元素,那么数组就会用默认的类型值初始化。 作用范围:有效范围从该变量的声明开始到该变量的结束为止。 (5)权限修饰符 权限修饰符主要包括private、public和protected,修饰符控制着对类和类的成员变量以及成员方法的访问。 (1)包名 域名.项目名.模块名.组件名 (2)如何访问 (3)import 关键字 向某个Java文件导入指定包层次下的某个类或全部类 (4)常用包 java.lang:包含了Java语言的核心类,如 (2)implement 关键字 使用implement关键字可以变相的使Java 具有多重继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口与接口之间采用逗号分隔) (3)super和
自动化脚本 —— 从需求到代码 无痛开发四阶法 案例需求: “自动备份指定文件夹到百度网盘,每周一凌晨执行,保留最近 3 个版本” 阶段 1:需求结构化 指令: 将需求拆解为技术要素: 文件操作模块(增量备份 技术面试 —— 精准打击考点 备战体系构建 考点预测 指令: 根据[目标公司]近 3 年面经和我的技术栈:[Java/Python/Go...] 输出: 高频考点 TOP10(按出现频率排序) 对应 LeetCode 题号(标注原题/变式题) 系统设计重点领域(附学习路线图) 输出示例: 阿里巴巴 Java 岗高频考点: 并发编程(80%出现) 网文小说辅助入门 小说创作 —— 人物关系管理 三维角色建模法 步骤 1:角色档案生成 指令模板: 生成小说角色模板: 姓名: 核心欲望: 关键秘密: 关系网络: 盟友(表面/真实) 对手(直接/潜在) 标注 3 个潜在冲突爆发点。 生成时间轴:关键事件对关系的影响。 导出工具: 复制代码到 Markdown 编辑器实时渲染。 使用 Draw.io 导入生成专业图表。
Java从入门到精通十(java异常) 异常的引入 一:异常与错误的区别 异常类介绍 一: Exception及其方法说明 二: 异常分类说明介绍 1: 运行时异常 RuntimeException类下常见的异常子类说明 这适用于在异常链(异常嵌套)机制被加入到 Throwable 之前存在“遗留 Throwable 链机制”的情况。 (MyClass.java:6) at MyClass.main(MyClass.java:3) api还说明了这个方法的一些参数,这里只要看这个方法的输出信息。 2:ArrayStoreException(数组存储异常) 一般的是存储类型不匹配 java api对此错误的说明就是 试图将错误类型的对象存储到一个对象数组时抛出的异常。 换句话说,即 Java 环境或 Java 应用程序没有处于请求操作所要求的适当状态下。
我观察到,过一会儿会有规律的变成一个线程,即使我在终端执行命令,有时候它还是一个线程。 上面我们说了,线程就像车间忙碌的工人,大一点的程序一定会有多条线程的。 这样告诉我线程数就完了吗? java执行方面的进程和线程的体现 我们会想到java基本的运行机制 java源代码首先需要通过java编译器编译为字节码文件(.class文件),字节码文件是一种二进制的文件,里面的数据紧密相连 jvm程序需要执行的时候,操作系统将jvm从磁盘存储器将其调入到内存中,然后创建一个jvm的进程。jvm启动主线程,主线程调用类的main方法,所以主线程也就是从main方法这里开始执行了。 static int enumerate(Thread[] tarray) 将当前线程的线程组及其子组中的每一个活动线程复制到指定的数组中。 找来找去,也查看了一些说明,原来还是涉及到c++ 首先还是和前面的start0()这个方法有关系。 native在这里进行修饰说明了这里调用了一个非java语言实现的接口。
Java从入门到精通十八(反射) 反射的概念以及机制 一: 获取字节码文件对象的三种方式 1:通过getClass() 方法获取到Class对象。 2:通过类名.class获取到Class对象 3:通过Class.forName()获取到Class对象 二 : 实例化 三: 获取一般方法和成员变量 1:获取一般方法(成员方法) 2: 获取到成员变量 Class<Refelct_demo01> re_1 = Refelct_demo01.class; 3:通过Class.forName()获取到Class对象 根据api的说明举例就很容易明白了。 aClass.getDeclaredFields(); for(Field f : ff) { System.out.println(f); } 三: 使用类属性 我们已经了解到如何获取到 ; import java.io.FileReader; import java.io.IOException; import java.lang.reflect.Constructor; import
什么是css3动画? 通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。 0, 3px 0, 15px -150px, 15px -150px;} to{ background-position:3px -70px, 3px -70px, 15px -80px, 15px 在 CSS3 之前,背景图片的尺寸是由图片的实际尺寸决定的。在CSS3中,可以规定背景图片的尺寸,这就允许我们在不同的环境中重复使用背景图片。 执行动画的属性: 设置动画过程中对象属性 3、动画库 Animate.css的动画库。Animate.css是由Dan Eden制作的CSS3动画效果合集。 三、运用CSS3的页面案例 1、纯CSS3实现质感发光动画按钮 2、10大经典CSS3菜单应用欣赏 3、9种CSS3炫酷图片预览展示动画特效
Java从入门到精通九(Java泛型) 泛型说明 使用泛型的好处 泛型类 泛型接口 引入类型通配符 不变,协变,逆变 用通配符支持协变和逆变(开挂行为) 泛型方法 泛型方法与可变参数 泛型上界下界 泛型数组 GenericDemo genericDemo = new GenericDemo("hello"); new GenericDemo(123); } } T具体的类型由参入的参数决定 3: new ArrayList<>(); tmpList.add(1); tmpList.add(2); tmpList.add(3) for(T t:args) { System.out.println(t); } } 调用赋值 demo_1.printfMsg(1,2,3,4,5,6,7,8,9 就先菜到这里吧!该文是自己的一些认识,如果有不足或者说的不对的地方,还请指正。
Vue3简介 Vue3是Vue.js的最新版本,于2020年9月18日正式发布。 vue3 项目目录结构 Vue3项目的目录结构与Vue2有些不同,主要是因为Vue3使用了新的模块化系统和TypeScript语言。 vue3 模板语法 Vue3的模板语法与Vue2的模板语法基本相同,但也有一些变化。 = data }) return { message } } } </script> 上面的代码中,使用provide方法将事件总线对象EventBus注入到根组件中 this.price * this.count * this.discount } } } </script> 上面的代码中,计算属性totalPrice返回一个函数,这个函数会动态计算商品总价,考虑到折扣可能会变化
vue3 模板引用 在Vue3中,模板引用使用ref来实现。ref可以用来获取组件实例或DOM元素的引用,并将其绑定到组件实例的数据上。 需要注意的是,在Vue3中,ref只能绑定到组件实例或DOM元素上,不能绑定到普通数据上。 vue3 组件组成 在Vue3中,组件由三部分组成:模板、逻辑和样式。 vue3 组件数据传递 在 Vue3 中,组件数据传递可以通过 props 和 emit 实现。 Props 在 Vue3 中,通过 props 定义组件的属性,可以将数据从父组件传递到子组件。 Emit 在 Vue3 中,通过 emit 发送自定义事件,可以将数据从子组件传递到父组件。子组件使用 $emit 方法触发事件,并传递数据。 vue3 透传Attributes 在 Vue3 中,可以使用 v-bind=" 例如,下面的代码演示了如何使用 $attrs 透传父组件的 attributes 到子组件: // ChildComponent.vue
vue3插槽Slots 在 Vue3 中,插槽(Slots)的使用方式与 Vue2 中基本相同,但有一些细微的差异。
,这段内容将被插入到 ChildComponent 组件的插槽位置。 需要注意的是,在 Vue3 中,默认插槽不再具有具名插槽的概念。如果需要使用具名插槽,可以使用 v-slot 指令。 在此阶段,模板已经编译完成,但尚未将模板渲染到 DOM 中。 mounted: 在挂载完成之后被调用。此时,组件已经被挂载到 DOM 中,可以访问到 DOM 元素。 下面是一些使用 Vue3 开发应用的步骤: 安装 Vue3:使用 npm 或 yarn 安装 Vue3 的最新版本。 Vue3 还提供了许多其他功能和工具,如路由、状态管理、单文件组件等,以帮助你构建更强大的应用。 希望这个简单的示例能帮助你入门 Vue3 应用的开发!Java从入门到精通十三(java网络编程) java网络编程 网络通信的概念 网络编程的三要素 InetAddress(互联网协议地址类) DatagramSocket(数据报包套接字) DatagramPacket 为了接收广播包,应该将 DatagramSocket 绑定到通配符地址。在某些实现中,将 DatagramSocket 绑定到一个更加具体的地址时广播包也可以被接收 这是我们需要主要去了解的信息。 可以绑定到主机的端口。 class Tcp_demo3 { public static void main(String[] args) throws IOException { //创建客户端Socket .*; import java.net.ServerSocket; import java.net.Socket; public class Tcp_demo3_server { public
Java从入门到精通十一(javaIO流) IO引入 字节流和字符流(一些说明) 字节流没有用到缓冲区并不是没有用到内存 为什么输入流是读数据,而输出流是写数据? 集合(Properties) 集合到文件,文件到集合 做一个猜数字游戏 IO异常处理 抛出异常 标准捕获 捕获处理改进版(jdk7特性) IO引入 字节流和字符流(一些说明) 在java中io流分为字节流和字符流 但是加入缓冲区是一定会比较快的, 用输入输出实现数据的复制 可以进行文件到文件的复制 package io_demo; import java.io.FileInputStream; import java.io.FileNotFoundException ; import java.io.FileOutputStream; import java.io.IOException; //用输入输出流进行文件的复制 public class IoDemo_3 集合到文件,文件到集合 package io_demo; import java.io.FileNotFoundException; import java.io.FileReader; import
Java从入门到精通十七(Stream 流 ) Stream 流引入说明 Stream 流的常用方法说明 1: filter() 2:collect() 3:distinct() 4:sorted()/ 引入的新的特性 和之前介绍的java IO 流多多少少有所区别。 ; import java.util.Map; import java.util.TreeMap; import java.util.stream.Collectors; public class Student_Collection 从参数上具体分析的话,就是一个常量seed,可指定泛型,然后呢,生成到f,f是UnaryOpeartor类型的。 这个类型是什么呢? 只要了解到lambda,函数式编程,好奇的话,看看源码,接口,就完事。 如果你不限制的话,生成时不会结束的。有趣。
Java从入门到“放弃 ”精通之旅 今天我将要带大家一起探索神奇的Java世界!希望能帮助到同样初学Java的你~ (๑•̀ㅂ•́)و✧ Java是什么?为什么这么火? 3 C++ 7.593% ✨ 小知识:Java最初叫Oak(橡树),因为创始人James Gosling办公室外有一棵橡树 Java能做什么? 所谓面相对象,就是依靠对象之间的交互来完成事情,比如:人用手机网上购物,狗吃骨头… 3. 可移植:Java规范中没有“依赖具体实现的地方 基本数据类型的大小以及有关运算都做了明确的说明。 JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。 JVM:Java虚拟机,运行Java代码 总结 Java是一门强大而优雅的语言,无论是就业还是个人成长都是绝佳选择。从今天开始,让我们一起在Java的世界里探索吧!
引言 最近也有很多人来向我"请教",他们大都是一些刚入门的新手,还不了解这个行业,也不知道从何学起,开始的时候非常迷茫,实在是每天回复很多人也很麻烦,所以在这里统一作个回复吧。 Java学习路线 当然,这里我只是说Java学习路线,因为自己就是学Java的,对Java理当很熟悉,对于其它方面,我也不是很了解。 基础阶段 首先是基础阶段,在基础阶段,我们必须掌握Java基础,Mysql数据库,Oracle数据库,JDBC,Linux基础,Java8新特性,数据结构和算法,设计模式。 1EJYIgAuAHhaJLv8Pp-QjgA 提取码:584f JavaEE JavaEE阶段全套视频——链接:https://pan.baidu.com/s/1rJ5MyvFMuN_cbDVbw-2B3A 我从手机端的网盘分享出一个链接,大家可以复制下面的内容然后直接打开手机端的移动网盘: 复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1Nkh3Zjp-qGBuWU1mH2T5bA
Java从入门到精通十五(方法引用) 方法引用的引出 方法引用类型 引用静态方法 引用类中实例方法 引用特殊类的方法 引用构造方法 方法引用的引出 在十四篇中介绍过lambda表达式。 }); } private static void usePrintable(Printable p) { p.printString("爱生活,爱java 说实话,我一开始看到这样的写法觉得很离谱,但是这个是java8之后的新特性。支持这样的语法。::这个符号代表引用符。 ; import java.util.TreeSet; public class Pratice { public static void main(String[] args) { java8的新特性,改进一定是由原因的。希望自己之后可以弥补自己当前的一些肤浅的认识。