JVM内存 把内存管理交给虚拟机,但不可依赖于虚拟机的内存管理机制,这就是学习虚拟机的原因之一内存划分对象创建对象内存布局对象访问定位虚拟机将内存划分为以下几个部分程序计数器(PC):和计组中的概念一样,都是存放程序,或者说是进程要执行的下一条字节指令,每个线程都有自己私有的程序计数器栈:描述方法执行的内存模型,每个方法在执行的时候都会创建一个栈帧,用于存放局部变量表、操作数帧、动态...
Javaweb入门 花了三个星期,从零开始学习Javaweb的搭建,并第一次上手一个框架,踩过了无数的坑,但收获还是很大看本文的读者最好有以下基础Java基础对HTTP和HTML有所了解Linux基本操作对web运作流程有了解数据库,如MySQL当然如果不了解也没事,和我一样头铁就是干!先申明这次开发所用的环境(包括版本信息),这真的很重要,因为我第一次在云服务器上部署tomcat时,所安装的...
几点感悟 今天在YouTube上看到一个清华留学生的视频,对我触动挺大的。一个十九岁的清华学子,已经能通过制作视频月收入五位数,然后再对比自己,我觉得从那个视频中体现的最大的区别在于执行力和洞察力在这个视频中,他讲了一个在经营频道初期做出的一个重要决定,从做自己喜欢的物理教学内容,到做用户喜欢的内容,他洞悉到了频道前期subscriber增长较慢的最关键的原因。让用户参与进来,是这个YouTuber反...
指针与数组 指针以更接近机器的方式表示地址,所以会更有效率一个贯穿指针与数组的概念:数组名是数组首元素的地址首先是指针的概念: int* p; //定义一个指向int的指针 int n = 3; p = &n; //赋值 printf("p=%x&p=%x*p=%d&n=%xn=%d",p,&p,*p,&n,n ); p=
《算法》Ex_1.1 不知道是我太笨还是《算法》的作者脑洞大开,在第一章就看到了好多很妙的函数1.之前看到的斐波那契数列都是递推给出的f[n]=f[n-1]+f[n-2];这次看到了一个代码还是挺有趣的int f=0;//保存当前数int g=0;//保存前一个数for(int i=0;i15;i++){ printf("%d",f); f=f+g; g=f-g;
Git初学 作为一个立志要成为优秀程序员的人,怎么可以不知道怎么使用git之前使用的是github,但是感觉目前用处不大,用的还是github桌面应用,不够高大上(装逼)第一步:安装git,简直就是傻瓜式安装,略过第二步:先创建git_practice文件夹作为示范,里面有一个hello_world.py第三步:从示范文件进入Git Bash 第四步:就是各种操作1 git init
《算法》(第四版)Eclipse配置 接下来的计划就是看《算法》,并实现上面的代码Eclipse的安装网上有很多教程,很容易就配置成功,但引入《算法》作者写的库还是有点头疼首先需要下载两个文件 algs4.jar 和 algs4-date.zip,第二个文件是书本上所有的测试数据然后需要把它引入创建的工程,参考如下 还需要在代码中引入import java.util.Arrays;import edu.pr
初识Java 从C语言转到Java,最重要的就是理解面对对象的含义首先说一句哲学性的话:万物皆是对象。花花草草、猫、狗、手机、电脑都可以成为对象。对象有两个属性:状态和行为,当这些对象具有某些相同属性的时候,比如花花草草都具有植物的属性,猫狗都具有动物的属性,这时候,我们就可以抽象出类各个概念,反过来想,我如果是老虎,我也应该有动物的属性,“应该有”这个过程就可以说是继承。面对对象编程的适应性和可扩
linux gcc gdb 这个星期作死的想要在linux下写c代码,结果花了大半天,不过还是很有收获的,至少以后可以在linux下写代码了,还有CSAPP上的案例也就可以动手操作了,哈哈哈之前都是在CSAPP上看的汇编代码,今天终于看到了“真人”了。还是总结一下这次烦人的操作因为看书的时候,经常会看到gdb调试,就一直都想实验一下,但是windows安装实在烦人首先是安装虚拟机,这步倒是很顺利;安装linu
UVA514(Rails) UVA514 学完栈的知识后,第一次运用,也是第一次知道有现成的stack这是《算法竞赛入门经典》上的题目,但是书上的代码是过不了的,主要是输入输出的格式不对,但是思路是ok的根据题目意思描述,辅助铁轨C只能先进后出,符合栈的特性进入的火车要么进入C,要么直接出去 出去的火车要么从C出去,要么从A出去还有火车从C栈驶出之前,要判断栈是否为空,不然是会出错的#include
对弧度的重新认识 高中学习弧度,老师就是一笔带过,这次在学习高等数学的时候,对弧度的认识还有些模糊,就借鉴了知乎上的马同学数学大佬,总结了这篇文章先讲讲角度的来源:春分到秋分,以其他星座为参考,太阳划过半个周天的轨迹,恰好等于180个太阳直径,受此启发,他们定义圆周为360度,平角为180度。因此角度的符号是小圈(代表太阳),而不是其他符号 此外,定义平角为180度,还与巴比伦人采用60进位法有密切的联系,并且18
2017总结 现在是2017年12月31日22:37,我在电脑面前写下这段文字17年,对自己来说,是个分水岭,上半年是水深火热,下半年是天上人间。上半年经过高考的洗礼,学到了最关键的一点,坚持。下半年初入大学,体验到了不一样的生活这一年最重要的莫过于高考,高考前的紧张,高考后没有想象中的狂欢,只是平淡的填完志愿,两个月的暑假现在看来过得好无趣,只是学习了C语言,一个人出去溜了一圈,然后就来到了大学,来到
GitHub简单使用 花了一上午终于搞明白了github是怎么一回事,本文的唯一目的就是讲明白怎么把本地的程序传到云端(不需要任何技术手段,小白也可以实现)首先明白一点,github有一个很重要的概念Repository,在本地有一个,在云端也有一个(云端的Repository是可以被其他用户clone),还有一个操作是把本地的Repository中的某个文件传到云端的Repository,这样其他人(包括自己)就可以在
人工智能 人工智能“六步走”学习路线1、学习并掌握一些数学知识高等数学是基础中的基础,一切理工科都需要这个打底,数据挖掘、人工智能、模式识别此类跟数据打交道的又尤其需要多元微积分运算基础线性代数很重要,一般来说线性模型是你最先要考虑的模型,加上很可能要处理多维数据,你需要用线性代数来简洁清晰的描述问题,为分析求解奠定基础概率论、数理统计、随机过程更是少不了,涉及数据的问题,不确定性几乎是不可避免的,
HDOJ2899(二分\三分) 题目连接 一道很水的题目,硬是被我做成有毒的题目 先讲二分法 这种多次函数照理来说是不能用二分法的(因为一般来说函数不是单调的),但是这个函数的导函数在给定(0,100)区间是单调的,所以就可以以利用二分法去找导数等于零的点,也就是要找的极小值点#include#include#includeusing namespace std;#define flag 1e-6doub
HDOJ1010(DFS) 题目连接这是最初的代码,没有经过剪枝,自然TLE,DFS很大的一个特点就是要搜遍全图,很耗时间,如果你按F10去一步步调试,将会按到天昏地暗(我就是这么做的),它会把每个能到达的节点都做一遍DFS,不过没关系,先理解最初始的代码,理解了再去剪枝#include<iostream>using namespace std;int si, sj,ei, ej,n,m,flag,t;char map[
UVA572(Oil Deposits)(DFS) 题目链接第一次做DFS的题目,还一次AC了,开心#includeusing namespace std;#define MAXN 105char map[MAXN][MAXN];int m,n;int dir[8][2] = { { 0,-1 },{ 0,1 },{ 1,0 },{ -1,0 },{-1,-1},{-1,1},{1,-1},{1,1} };//因为题目意思是斜
影碟管理系统(程序设计课大作业) 第一次接触稍大一点的程序,纪念一下本来是和同学一起完成的,但他们好像积极性不高,就自己写了orz程序的结构借鉴了C primer plus 的面对对象的设计思路,但感觉只是学了点表面,面对对象的本质还没抓到,大家凑合看看,要是想借鉴,记得和我说一下,毕竟辛辛苦苦写的hhhh我是在VS2017上编译运行的,有三个文件,要一起编译哦,涉及到的只是还是很简单的,结构体,文件操作,链表(但是我
UVA227 一道我目前为止写过的最长代码的题,小小纪念一下,思路很简单,就是模拟,但是他的输出格式,我不是很明白,是复制网友代码然后发现的规律。代码很简单,应该可以看懂,orz#include#includeusing namespace std;char s[6][6];struct blank{ int row;//行 int col;//列}blank;int in